I have returned to trying to get my prototype working with ServiceMix
but something just is not clicking unfortunately.
Basically my prototype consists of a few SEs and then the SUs and SA
to configure the prototype.
The 'main' SE receives requests just fine from an HTTP endpoint. But
when I try to forward the request to another SE I get the following
exception cause:
Caused by: javax.jbi.messaging.MessagingException: Out not supported
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage
(MessageExchangeImpl.java:317)
at
main.java.com.mediaspansoftware.transporter.servicemix.TaskEngineEndpoin
t.process(TaskEngineEndpoint.java:194)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess
(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange
(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange
(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound
(DeliveryChannelImpl.java:593)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting
(AbstractFlow.java:174)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting
(SedaFlow.java:176)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run
(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:613)
This was the initial xbean.xml for the SU I deployed against the main
SE (TaskEngine):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:taskEngineSE="http://
com.mediaspansoftware.transporter/1.0"
xmlns:tp="http://www.mediaspansoftware.com/transporter">
<taskEngineSE:endpoint
service="tp:TaskEngine"
endpoint="endpoint"/>
</beans>
It seems the SE acts like it can only process 'in' messages but I
need to be able to forward to another SE. In looking at the original
xbean.xml file for the SU, there is no specification of a role or
defaultMEP. So I tried to add this information such that my xbean.xml
looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:taskEngineSE="http://com.mediaspansoftware/1.0"
xmlns:tp="http://www.mediaspansoftware.com/transporter">
<taskEngineSE:endpoint
service="tp:TaskEngine"
role="provider"
endpoint="endpoint"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
</beans>
Unfortunately, now I get a new exception when attempting to re-deploy
the SA:
Caused by: org.springframework.beans.NotWritablePropertyException:
Invalid property 'defaultMep' of bean class
[main.java.com.mediaspansoftware.transporter.servicemix.TaskEngineEndpoi
nt]: Bean property 'defaultMep' is not writable or has an invalid
setter method. Does the parameter type of the setter match the return
type of the getter?
at org.springframework.beans.BeanWrapperImpl.setPropertyValue
(BeanWrapperImpl.java:750)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue
(BeanWrapperImpl.java:607)
at
org.springframework.beans.AbstractPropertyAccessor.setPropertyValue
(AbstractPropertyAccessor.java:49)
at
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues
(AbstractPropertyAccessor.java:74)
at
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues
(AbstractPropertyAccessor.java:57)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:965)
... 27 more
How do I configure an SU so that the TaskEngine SE can receive and
forward messages?
Thanks,
Scott
---
On May 9, 2007, at 3:10 AM, Gert Vanthienen wrote:
Scott,
If your SE just wants to get a single file using, you might be
better off
using the commons-net API directly to go and get it. If you really
want an
FTP poller, I suppose you can programmaticaly add an
FTPPollerEndpoint once
the servicemix-ftp component is installed. The other option would
be to
'generate' a SU on-the-fly and deploy it into the container using
the API.
Regards,
Gert
Scott Johnson-16 wrote:
On May 8, 2007, at 8:49 AM, Gert Vanthienen wrote:
...
Yes this is precisely what I need to do. It sounds like it's worth
the time for me to pursue this prototype in ServiceMix further.
One other question: can the provided SEs be configured at run-time to
perform their service? For example, say I have 2 work orders both of
which want use FTP to monitor for input files but at different times
and from different FTP sites. Can my SE pass along a configuration at
run-time to the servicemix-ftp component to tell it where to GET from
(rather than having to specify it in a config file)? I assume I'd
still need to deploy an SU but (hopefully) I can override it's
configuration dynamically as I process work-orders.
Thanks,
Scott
...
--
View this message in context: http://www.nabble.com/Is-ServiceMix-
JBI-a-Good-Fit-for-Dynamic-Processing--tf3705460s12049.html#a10389452
Sent from the ServiceMix - User mailing list archive at Nabble.com.