I am attempting to implement a pure synchronous call through Lingo. I have the following beans defined in Spring.
<code>
<bean id="jmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://localhost"/>
</bean>
<bean id="SyncDestination" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0" value="com.ge.nbc.cnbc.gdp.SYNC.feed"/>
</bean>
<bean id="client" class="org.logicblaze.lingo.jms.JmsProxyFactoryBean">
<property name="serviceInterface" value="com.ge.nbc.cnbc.gdp.service.DataProviderService"/>
<property name="connectionFactory" ref="jmsFactory"/>
<property name="destination" ref="SyncDestination"/>
</bean>
<bean id="syncClient" class="com.ge.nbc.cnbc.gdp.jms.TickerPlantDataSynchronizer">
<property name="service" ref="client"/>
</bean>
<bean id="GlobalTickerService" class="com.ge.nbc.cnbc.gdp.service.impl.JMSTickerPlantServiceImpl" destroy-method="close">
<property name="configurationService" ref="configurationService"/>
<property name="configurations">
<set>
<ref bean="NYSEConfiguration"/>
<ref bean="NASDAQConfiguration"/>
<ref bean="ILXConfiguration"/>
</set>
</property>
<property name="serviceName" value="GlobalTickerService"/>
<property name="dataStore" ref="TickCache"/>
<property name="serverInfo" value="localhost"/>
<property name="jmsTemplate" ref="jmsTemplate"/>
<property name="symbologyService" ref="SymbologyService"/>
<property name="dataApiService" ref="dataApi"/>
</bean>
<bean id="TickerPlant2" class="org.logicblaze.lingo.jms.JmsServiceExporter" depends-on="broker" singleton="true">
<property name="service" ref="GlobalTickerService" />
<property name="serviceInterface" value="com.ge.nbc.cnbc.gdp.service.DataProviderService" />
<property name="connectionFactory" ref="jmsFactory" />
<property name="destination" ref="SyncDestination"/>
</bean>
</code>
I then have junit test that obtains the "syncClient" bean and makes a request. I can trace the call into the remote service, but never get the object back. It simply times out with the following error:
<code>
org.springframework.remoting.RemoteAccessException: Cannot access JMS invoker remote service at [null]; nested exception is javax.jms.JMSException: edu.emory.mathcs.backport.java.util.concurrent.TimeoutException
Caused by: javax.jms.JMSException: edu.emory.mathcs.backport.java.util.concurrent.TimeoutException
at org.logicblaze.lingo.jms.impl.MultiplexingRequestor.createJMSException(MultiplexingRequestor.java:205)
at org.logicblaze.lingo.jms.impl.MultiplexingRequestor.request(MultiplexingRequestor.java:133)
at org.logicblaze.lingo.jms.JmsClientInterceptor.invoke(JmsClientInterceptor.java:138)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy1.syncSymbolDataNode(Unknown Source)
</code>
This configuration seems to follow the simple example on the Lingo site, but I just can't seem to make it work. I assume that there is just something misconfigured. Any help would be greatly appreciated.
Thanks,
Pete