Hmmm, yeah you're right, that's not quite what you're looking for, the polling consumer is still a consumer. I wonder if you wouldn't be better off using the Mina API directly to get your event driven behavior, you could then use a Camel ProducerTemplate to send the message to a Camel Route. There looks to be a pretty straightforward example of an IoHandlerAdapter here - http://mina.apache.org/report/trunk/xref/org/apache/mina/example/netcat/
On Wed, Feb 3, 2010 at 1:21 PM, Dean H <[email protected]> wrote: > > I'm confused by what you mean with consumerURI and targetURI. Is the > consumer the "client" or the "server"? In my scenario, I've got a server > that is pumping out XML messages over TCP periodically. Note, the server > already exists in the enterprise and is not part of my solution, i'm just > trying to connect to it. > > I'd like to use spring configuration for my solution. Right now I've got > something in place that works most of the time...but I think I'm missing > some messages. My current solution has a timer in place that fires every 10 > seconds. The timer routes to a MinaEndpoint. The MinaEndpoint has a a > custom filter attached to it that parses the message and acts on it. > > The end game is to have a TCP monitor that blocks until a message is > received from the server and then takes action. Once a message is received, > the TCP monitor starts up again and the process is repeated. > > Here's my springclient.xml file: > > ............................ > <bean id="minaFactory" > class="org.apache.camel.component.mina.MinaComponent"> > <constructor-arg index="0" ref="camel"/> > </bean> > <bean id="minaEndpoint" factory-bean="minaFactory" > factory-method="createEndpoint"> > <constructor-arg index="0" ref="minaConfig"/> > </bean> > <bean id="minaConfig" > class="org.apache.camel.component.mina.MinaConfiguration"> > <property name="protocol" value="tcp"/> > <property name="host" value="<<SERVER_IP>>"/> > <property name="port" value="<<SERVER_PORT>>"/> > <property name="textline" value="true"/> > <property name="sync" value="true"/> > <property name="minaLogger" value="true"/> > <property name="filters" ref="minaFilters"/> > </bean> > <bean id="minaFilters" class="java.util.ArrayList"> > <construcutor-arg> > <list value-type="org.apache.mina.common.IoFilter"> > <ref bean="myFilter"> > </list> > </constructor-arg> > </bean> > <bean id="myFilter" class="sample.myMinaIoFilter"/> > <camel:camelContext id="camel"> > <camel:route> > <camel:from uri="timer://testTimer?fixedRate=true&period=10000"/> > <camel:to ref="minaEndpoint" /> > </camel:route> > </camel:camelContext> > ............................ > > -- > View this message in context: > http://old.nabble.com/MINA-as-a-TCP-Client-questions-tp27426504p27440985.html > Sent from the Camel - Users mailing list archive at Nabble.com. > >
