2012-04-05 2 views
0

Я использую Hessian в проекте Spring MVC. Я создаю реализацию на стороне сервера, а затем хочу настроить клиент. Клиент может быть настроен с кодом, который использует HessianProxyFactory для инициализации клиента. Используемый URL-адрес теперь жестко закодирован в коде, но я хотел бы связать службу с каким-то образом, как с Spring-компонентом, так что с конфигурацией стороны кода будет обрабатываться аннотация @Autowired.Как настроить Hessian на Spring MVC с помощью xml config?

Как это сделать? Вся помощь приветствуется.

ответ

3

Он описан в 20.3.3 Linking in the service on the client:

<bean id="accountService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> 
    <property name="serviceUrl" value="http://remotehost:8080/remoting/AccountService"/> 
    <property name="serviceInterface" value="example.AccountService"/> 
</bean> 

Где example.AccountService является интерфейс сервиса, что сервер реализует. Клиент также нуждается в этом интерфейсе, но вы, вероятно, это знаете.

Также можно использовать конфигурацию Java:

@Bean 
public HessianProxyFactoryBean accountService() { 
    HessianProxyFactoryBean factory = new HessianProxyFactoryBean(); 
    factory.setServiceUrl("http://remotehost:8080/remoting/AccountService"); 
    factory.setServiceInterface(AccountService.class); 
    return factory; 
} 

Теперь вы способны просто инъекционного:

@Autowired 
private AccountService accountService; 

HessianProxyFactoryBean позволяет настраивать различные другие функции, такие как безопасность и тайм-ауты.