domain:
public class Account implements Serializable{
private static final long serialVersionUID = 9020521114209538117L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
AccountService
public interface AccountService {
public void insertAccount(Account account);
public List<Account> getAccounts(String name);
}
AccountServiceImpl
public class AccountServiceImpl implements AccountService {
public List<Account> getAccounts(String name) {
// TODO Auto-generated method stub
return null;
}
public void insertAccount(Account account) {
System.out.println("insert Account......");
}
}
Exposing the service object:
accountService-servlet.xml
放在WEB-INF下
<bean id="httpservice" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service" ref="accountService"></property>
<property name="serviceInterface" value="com.lmning.AccountService"></property>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/account.service">httpservice</prop>
</props>
</property>
</bean>
In addition, define a corresponding servlet for this exporter in 'web.xml', with the servlet name matching the bean name of the target exporter:
web.xml
<servlet>
<servlet-name>accountService</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>accountService</servlet-name>
<url-pattern>*.service</url-pattern>
</servlet-mapping>
客户端xml
bean.xml
<bean id="serverAccountService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl" value="http://localhost:8081/spring-rmi-webservice/account.service"/>
<property name="serviceInterface" value="com.lmning.AccountService"/>
client应用程序:
*/
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
AccountService service = (AccountService)ctx.getBean("serverAccountService");
service.insertAccount(null);
}
运行,ok!
分享到:
相关推荐
在分布式系统中,远程服务调用是常见的需求,Spring框架提供了多种远程服务支持,其中包括HttpInvoker。HttpInvoker是Spring框架的一部分,它允许开发者使用HTTP协议进行远程方法调用,而不需要额外的类库。与...
这个bean将包含你需要通过远程调用来执行的方法。例如: ```java @Service("myRemoteService") public class MyRemoteServiceImpl implements MyRemoteService { @Override public String doSomething(String ...
要实现Spring的HTTP Invoker远程调用,我们需要以下几个步骤: 1. **服务提供方配置**:创建服务接口,并实现该接口。在Spring配置文件中定义一个bean,标记为`@Service`,并指定接口类型。此外,还需要配置`...
HTTP远程调用是Spring Remote的一种实现方式,通过HTTP协议来传输数据,具有良好的可伸缩性和跨平台性。 要实现Spring的HTTP远程调用,我们主要涉及两个关键部分:服务端(Server)和客户端(Client)。服务端通常...
HTTP Invoker 是一个Java框架,主要用于在分布式系统中进行远程方法调用(RPC)。它通过HTTP协议提供服务,使得客户端可以像调用本地方法一样调用远程服务。在这个场景下,“http invoker 做post测试”指的是在完成...
在分布式系统中,远程调用是一个常见需求,Spring为此提供了一种轻量级的解决方案——HttpInvoker。本文将详细讲解如何利用Spring的HttpInvoker进行远程方法调用。 首先,我们需要理解什么是Spring HttpInvoker。...
Spring HttpInvoker提供了基于HTTP的远程调用解决方案,通过封装,我们可以让其在项目中更加易于管理和使用。理解其工作原理和源码细节,有助于我们在实际应用中进行优化和问题排查,提升系统的稳定性和效率。
Spring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和返回值是比较复杂的,通过httpInvoker有巨大的优势。 1. 远程访问流程 1) 服务端定义服务接口 2) 服务端实现服务接口 3) 暴露服务...
通过以上步骤,我们可以构建起一个基于Spring Boot的HTTP Invoker远程调用系统。尽管HTTP Invoker在性能上可能不如专门的RPC框架,但它简单易用,适合于小型项目或对性能要求不高的场景。在理解了其工作原理和配置...
Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的...
总结来说,Spring HTTP Invoker提供了一种简单且高效的远程调用方式,适用于Java应用间的通信。通过服务端的HTTP服务暴露和客户端的代理配置,我们可以轻松地实现跨网络的Java方法调用。在实际开发中,可以根据需求...
HTTPInvoker是Spring框架中的一种远程调用机制,它允许客户端通过HTTP协议来调用服务器端的方法,实现远程服务的透明化访问。这个技术基于HTTP,所以具有较好的穿透性,适用于内网或者对安全性要求不高的环境。在这...
Java Spring 1.2 远程调用HTTP Invoker是一个基于HTTP协议的远程服务调用框架,它是Spring框架的一部分,允许应用通过HTTP协议进行服务间的通信。这种通信方式相对于RMI(Remote Method Invocation)等其他远程调用...
Java Spring 2.5 Remote Invoke HTTP Invoker 是一个基于HTTP协议的远程调用框架,它允许Spring应用通过HTTP协议来调用远程服务。这个技术在分布式系统中非常有用,因为它可以轻松地跨越网络边界,实现服务间的通信...
4. **HTTP Invoker**:HTTP Invoker是Spring为Java对象提供的另一种远程调用方案,它基于HTTP协议,但提供了类似RMI的透明调用体验。HTTP Invoker通过序列化和反序列化Java对象,实现了跨JVM的远程方法调用。 在...
Eclipse工程Http Invoker Service & Client展示了如何在Spring框架中使用Http Invoker进行远程服务调用。通过定义服务接口,创建服务实现,并在服务端和客户端配置相应的bean,我们可以轻松地实现跨网络的Java对象...
HttpInvoker是Spring框架中的一种远程调用机制,主要用于在分布式系统中实现服务间的通信。它基于HTTP协议,允许客户端通过HTTP请求调用服务端的方法,实现了远程方法的透明调用。这个"HttpInvoker Sample"是一个...
通过定义一个`RemoteServicePool`接口,我们可以将具体的远程调用技术(如Hessian、HttpInvoker、XFire)的细节隐藏起来,开发者只需要通过接口方法`getService(String serviceId)`来获取服务,而无需关心服务的实现...
- **HttpInvokerRequestExecutor**:客户端组件,用于处理HTTP请求和响应,实现远程调用。 - **HttpInvokerProxyFactoryBean**:客户端代理工厂,用于创建客户端的代理对象,使客户端可以像调用本地方法一样调用...
综上所述,这个压缩包中的示例涵盖了多种核心的Java开发技术,从邮件发送到远程调用,再到面向切面编程和定时任务的处理,都是Java开发者应当掌握的基础技能。通过学习和实践这些示例,开发者可以深化对这些技术的...