Hallo zusammen
ich versuche mittels HessianProxyFactory auf eine Spring-Anwendung welche in einem Tomcat 6 läuft zuzugreifen. Das Funktioniert so weit einwandfrei. Jetzt möchte ich aber bei gewissen Services die Möglichkeit haben, diese "Stateful" zu halten. Also das ich auf diesen Service-Objecten jeweils Daten ablegen kann welche ich beim nächsten Call wieder zur Verfügung habe (Selbes Service-Objekt). Ich habe bereits einige Stunden gegoogelt, und einige Anhaltspunkte gefunden. So war ein Punkt - beim Export der Services mittels HessianServiceExporter diesen auf scope = "session" zu setzten. Ich habe danach meine Configuration wie folgt vorgenommen:
*-servlet.xml
[XML]<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean name="/business" class="org.springframework.remoting.caucho.HessianServiceExporter"
scope="session">
<property name="service" ref="business" />
<property name="serviceInterface" value="ch.obj.geschaeftslogik.IBusiness" />
</bean>
</beans>[/XML]
applicationcontext.xml
[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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
...
<bean id="business"
class="ch.obj.geschaeftslogik.BusinessImpl"
scope="session">
<property name="dataDAO" ref="dataDAO" />
</bean>
</beans>[/XML]
Leider bringt mich diese Erweiterung nicht wirklich weiter. Ebenfalls habe ich noch die für Spring nötige AOP-Config sowie den RequestContextListener definiert.
web.xml
[XML]<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>[/XML]
Die AOP-Config habe ich im *-servlet.xml für den exportierten Service erweitert.
[XML] <bean id="calcalutionBusinessSercvice" class="org.springframework.remoting.caucho.HessianServiceExporter" scope="session">
<property name="service" ref="calculationBusinessProcess" />
<property name="serviceInterface" value="ch.obj.Application.BaseData.BusinessProcess.ICalculationBusinessProcess" />
<aop:scoped-proxy/>
</bean>[/XML]
Ebenfalls habe ich noch auf Client-Seite eine Implementierung einer HessianHttpProxyFactory gefunden, welche mit cookies umgehen könnte. Auch dies hat leider nicht den erwünschten Erfolg gebracht.
Hat jemand von Euch Erfahrungen mit Hessian und Stateful-Service-exports? Vielen herzlichen Dank für Eure Hilfe.
grüsse
lumpiscore
ich versuche mittels HessianProxyFactory auf eine Spring-Anwendung welche in einem Tomcat 6 läuft zuzugreifen. Das Funktioniert so weit einwandfrei. Jetzt möchte ich aber bei gewissen Services die Möglichkeit haben, diese "Stateful" zu halten. Also das ich auf diesen Service-Objecten jeweils Daten ablegen kann welche ich beim nächsten Call wieder zur Verfügung habe (Selbes Service-Objekt). Ich habe bereits einige Stunden gegoogelt, und einige Anhaltspunkte gefunden. So war ein Punkt - beim Export der Services mittels HessianServiceExporter diesen auf scope = "session" zu setzten. Ich habe danach meine Configuration wie folgt vorgenommen:
*-servlet.xml
[XML]<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean name="/business" class="org.springframework.remoting.caucho.HessianServiceExporter"
scope="session">
<property name="service" ref="business" />
<property name="serviceInterface" value="ch.obj.geschaeftslogik.IBusiness" />
</bean>
</beans>[/XML]
applicationcontext.xml
[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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
...
<bean id="business"
class="ch.obj.geschaeftslogik.BusinessImpl"
scope="session">
<property name="dataDAO" ref="dataDAO" />
</bean>
</beans>[/XML]
Leider bringt mich diese Erweiterung nicht wirklich weiter. Ebenfalls habe ich noch die für Spring nötige AOP-Config sowie den RequestContextListener definiert.
web.xml
[XML]<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>[/XML]
Die AOP-Config habe ich im *-servlet.xml für den exportierten Service erweitert.
[XML] <bean id="calcalutionBusinessSercvice" class="org.springframework.remoting.caucho.HessianServiceExporter" scope="session">
<property name="service" ref="calculationBusinessProcess" />
<property name="serviceInterface" value="ch.obj.Application.BaseData.BusinessProcess.ICalculationBusinessProcess" />
<aop:scoped-proxy/>
</bean>[/XML]
Ebenfalls habe ich noch auf Client-Seite eine Implementierung einer HessianHttpProxyFactory gefunden, welche mit cookies umgehen könnte. Auch dies hat leider nicht den erwünschten Erfolg gebracht.
Hat jemand von Euch Erfahrungen mit Hessian und Stateful-Service-exports? Vielen herzlichen Dank für Eure Hilfe.
grüsse
lumpiscore