调用端的配置文件
application-remote-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<bean id="logRemoteBusiness" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl" value="${business.log.url}/logBusiness" />
<property name="serviceInterface" value="com.saferich.api.log.ILogRemoteBusiness" />
</bean>
</beans>
system.properties配置文件
#接口端的IP端口URL
business.log.url=http://127.0.0.1:8080/business-log/remote
controller中调用
@Controller
@RequestMapping("test")
public class ServiceTest {
@Autowired
private ILogRemoteBusiness logRemoteBusiness;
@RequestMapping(value = "/user", method = RequestMethod.GET)
@ResponseBody
public String account(HttpServletRequest request, HttpServletResponse response) {
System.out.println("ok!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
logRemoteBusiness.printOut();
return "true";
}
}
以上是调用接口端的配置及使用
接下来是在另外一个服务器上的接口的实现
配置hessian-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 暴露远程服务 -->
<bean name="/logBusiness" class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service" ref="logRemoteBusiness" />
<property name="serviceInterface" value="com.saferich.api.log.ILogRemoteBusiness" />
</bean>
</beans>
注入的接口类
@Service
public class LogRemoteBusiness implements ILogRemoteBusiness {
@Autowired
private UserDao userDao;
@Override
public void printOut() {
System.out.println("app run!--------------------------------");
}
@Override
public void addUser(User user) {
userDao.addUser(user);
}
@Override
public void delUser(int id) {
userDao.delUser(id);
}
@Override
public void updateUser(User user) {
userDao.updateUser(user);
}
@Override
public List<User> findAllUser() {
return userDao.findAllUser();
}
}