« Return to Thread: Pure Synchronous Call not working

Pure Synchronous Call not working

by pgiesin :: Rate this Message:

Reply to Author | View in Thread

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

 « Return to Thread: Pure Synchronous Call not working

LightInTheBox - Buy quality products at wholesale price