You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Laurentiu Trica <la...@moredevs.ro> on 2011/06/23 15:15:05 UTC

Custom exclusiveReadLockStrategy in Servicemix + Camel

Hi everyone,

I have a problem using the exclusiveReadLockStrategy for Ftp2 component.
I implemented the GenericFileExclusiveReadLockStrategy interface in my class
and imported the bean in the DSL and then specified
the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I saw
here:
http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
)

The problem is I get this error:

javax.jbi.JBIException: java.lang.Exception: Error deploying SU
msp-endpoints-ftp-test
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
at
org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
at
org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
Caused by: java.lang.Exception: Error deploying SU msp-endpoints-ftp-test
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
... 14 more
Caused by: javax.jbi.management.DeploymentException: <component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message">
<component-name>servicemix-camel</component-name>
<component-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
<task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy
xbean service unit</loc-message></msg-loc-info></task-status-msg>
<exception-info>
<nesting-level>1</nesting-level>
<msg-loc-info>
<loc-token />
<loc-message>org.apache.camel.FailedToCreateRouteException: Failed to create
route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
because of Failed to resolve endpoint:
ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
due to: Could not find a suitable setter for property:
exclusiveReadLockStrategy as there isn't a setter method with same type:
de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
type converter available to convert from type:
de.edigrid.maspero.FtpChangedLockStrategy to the required type:
org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
<stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
org.apache.camel.FailedToCreateRouteException: Failed to create route
route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas... because of
Failed to resolve endpoint:
ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
due to: Could not find a suitable setter for property:
exclusiveReadLockStrategy as there isn't a setter method with same type:
de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
type converter available to convert from type:
de.edigrid.maspero.FtpChangedLockStrategy to the required type:
org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
at
org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
at
org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
at
org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
at
org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
because of Failed to resolve endpoint:
ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
due to: Could not find a suitable setter for property:
exclusiveReadLockStrategy as there isn't a setter method with same type:
de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
type converter available to convert from type:
de.edigrid.maspero.FtpChangedLockStrategy to the required type:
org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
at
org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
at
org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
... 26 more
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint:
ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
due to: Could not find a suitable setter for property:
exclusiveReadLockStrategy as there isn't a setter method with same type:
de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
type converter available to convert from type:
de.edigrid.maspero.FtpChangedLockStrategy to the required type:
org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
at
org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
at
org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
at
org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
at
org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
at
org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
at
org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
... 36 more
Caused by: java.lang.IllegalArgumentException: Could not find a suitable
setter for property: exclusiveReadLockStrategy as there isn't a setter
method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor type
conversion possible: No type converter available to convert from type:
de.edigrid.maspero.FtpChangedLockStrategy to the required type:
org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
at
org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
at
org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
at
org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
at
org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
at
org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
at
org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
... 44 more

This could be because I'm importing Camel Core via Maven in order to be able
to compile my custom strategy class and Servicemix is running the Camel from
another bundle so the classes are not compatible?

Is there any workaround for this? I'm trying to make a Changed lock strategy
for FTP component, I'll contribute it to Camel when it's done but I just
need to run it before finishing it.

Thank you for your time.
Laurentiu Trica

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Claus Ibsen <cl...@gmail.com>.
On Wed, Jun 29, 2011 at 6:36 PM, Laurentiu Trica
<la...@moredevs.ro> wrote:
> Hi Claus,
>
> You said this: "*Adjust the **configuration to use the new version of the
> camel features file*"
> What do you mean by that?
> Do you mean I should edit the /etc/org.apache.karaf.features.cfg file from
> ServiceMix?
> How can I tell it what version of Camel to use? And how to tell it to use a
> specific version from my own repository?
>

Ah yeah SMX provides their custom camel features file. So in that
config file there is a servicemix-camel url for a features.xml file.
That file is in the system directory of the SMX installation: for
example: system/org/apache/servicemix/apache-servicemix/4.3.1-fuse-01-09/apache-servicemix-4.3.1-fuse-01-09-camel-features.xml

In that features .xml file it has the camel version being used.

And there should be some cfg file in etc that has a list of the maven
repositories to look inside. In that cfg file you can add your custom
repository.



> Sorry if I'm nagging but I really need this piece of info.
>
> Thank you.
>
> On Wed, Jun 29, 2011 at 3:50 PM, Claus Ibsen <cl...@gmail.com> wrote:
>
>> On Wed, Jun 29, 2011 at 2:30 PM, Laurentiu Trica
>> <la...@moredevs.ro> wrote:
>> > Hi Claus,
>> >
>> > I attached the sources and modified files + a descriptive comment.
>> > Hope it helps.
>> >
>> > Can you please tell me how can I test my Camel changes in ServiceMix?
>> > Specifically, how can I add a custom Camel version to my ServiceMix?
>> >
>>
>> The stacktrace you posted before indicate it was the JBI assembly
>> deployer that failed. Hence I thought you are using JBI.
>> To upgrade Camel in SMX, you can stop the server. Adjust the
>> configuration to use the new version of the camel features file. Start
>> the server again. A good idea is to clear the data/cache directory as
>> it would cache downloaded bundles.
>>
>>
>> > Is it possible? Could you provide maybe a useful link or something?
>> >
>> > Thank you,
>> > Laurentiu
>> >
>> > On Wed, Jun 29, 2011 at 2:19 PM, Claus Ibsen <cl...@gmail.com>
>> wrote:
>> >
>> >> There is a JIRA ticket about the changed lock strategy for ftp
>> >> https://issues.apache.org/jira/browse/CAMEL-2934
>> >>
>> >> You can attach your contribution to that JIRA ticket. Remember to [x]
>> >> in grant license to apache when attaching files.
>> >>
>> >>
>> >>
>> >> On Wed, Jun 29, 2011 at 12:21 PM, Laurentiu Trica
>> >> <la...@finalfolder.biz> wrote:
>> >> > Hi,
>> >> >
>> >> > What do you mean by not using JBI?
>> >> > I'm not explicitly using JBI...
>> >> >
>> >> > On the other hand, in the meanwhile I wrote e "changed" strategy for
>> the
>> >> > FTP/FTPS and one for SFTP.
>> >> > I would like to contribute them to Camel as well, but I would also
>> like
>> >> to
>> >> > make use of them in my project as soon as possible.
>> >> >
>> >> > Is there a way to include my Camel changes in my ServiceMix?
>> >> > I use Servicemix 4.3.1 from Fuse. How could I do this?
>> >> >
>> >> > The changes I made to Camel code is minimal.
>> >> > I modified the
>> >> >
>> >>
>> camel-trunk/trunk/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
>> >> > I added two strategy factories (one for FTP/FTPS and one for SFTP) and
>> >> two
>> >> > changed strategies.
>> >> >
>> >> > I just need to add this to my existing 2.6.0-fuse-01-09 Camel.
>> >> >
>> >> > Thanks in advance
>> >> >
>> >> > On Wed, Jun 29, 2011 at 11:57 AM, Claus Ibsen <cl...@gmail.com>
>> >> wrote:
>> >> >
>> >> >> On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
>> >> >> <la...@moredevs.ro> wrote:
>> >> >> > Hi,
>> >> >> >
>> >> >> > I'm using Servicemix 4.3.2 from Fuse.
>> >> >> > I have the same problem if I want to use a strategy defined in
>> another
>> >> >> > bundle and I want to get it with OSGI
>> >> >>
>> >> >> I suggest to not use JBI. Pure OSGi works better.
>> >> >>
>> >> >> >
>> >> >> > Regards,
>> >> >> > Laurentiu
>> >> >> >
>> >> >> > On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <
>> claus.ibsen@gmail.com>
>> >> >> wrote:
>> >> >> >
>> >> >> >> What version of ServiceMix are you using? And try upgrading as I
>> have
>> >> >> >> seen this issue in the past fixed in a recent SMX release.
>> >> >> >> Albeit I think that issue was not with JBI but using just OSGi
>> >> bundles.
>> >> >> >>
>> >> >> >>
>> >> >> >> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
>> >> >> >> <la...@moredevs.ro> wrote:
>> >> >> >> > Hi everyone,
>> >> >> >> >
>> >> >> >> > I have a problem using the exclusiveReadLockStrategy for Ftp2
>> >> >> component.
>> >> >> >> > I implemented the GenericFileExclusiveReadLockStrategy interface
>> in
>> >> my
>> >> >> >> class
>> >> >> >> > and imported the bean in the DSL and then specified
>> >> >> >> > the exclusiveReadLockStrategy=#mybean on the FTP component URI
>> >> (like I
>> >> >> >> saw
>> >> >> >> > here:
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
>> >> >> >> > )
>> >> >> >> >
>> >> >> >> > The problem is I get this error:
>> >> >> >> >
>> >> >> >> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
>> >> >> >> > msp-endpoints-ftp-test
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> >> > Caused by: java.lang.Exception: Error deploying SU
>> >> >> msp-endpoints-ftp-test
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> >> > ... 14 more
>> >> >> >> > Caused by: javax.jbi.management.DeploymentException:
>> >> >> >> <component-task-result
>> >> >> >> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
>> >> >> >> > <component-name>servicemix-camel</component-name>
>> >> >> >> > <component-task-result-details>
>> >> >> >> > <task-result-details>
>> >> >> >> > <task-id>deploy</task-id>
>> >> >> >> > <task-result>FAILED</task-result>
>> >> >> >> > <message-type>ERROR</message-type>
>> >> >> >> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could
>> not
>> >> >> deploy
>> >> >> >> > xbean service
>> unit</loc-message></msg-loc-info></task-status-msg>
>> >> >> >> > <exception-info>
>> >> >> >> > <nesting-level>1</nesting-level>
>> >> >> >> > <msg-loc-info>
>> >> >> >> > <loc-token />
>> >> >> >> > <loc-message>org.apache.camel.FailedToCreateRouteException:
>> Failed
>> >> to
>> >> >> >> create
>> >> >> >> > route route24: Route[[From[ftp://ftp-test
>> >> @xxxx/MSP-ORDERS-TEST?pas...
>> >> >> >> > because of Failed to resolve endpoint:
>> >> >> >> > ftp://ftp-test
>> >> >> >>
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> >> > due to: Could not find a suitable setter for property:
>> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
>> same
>> >> >> type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> >> possible:
>> >> >> >> No
>> >> >> >> > type converter available to convert from type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >> >
>> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> >> with
>> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> </loc-message>
>> >> >> >> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
>> >> >> >> > org.apache.camel.FailedToCreateRouteException: Failed to create
>> >> route
>> >> >> >> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> >> >> because
>> >> >> >> of
>> >> >> >> > Failed to resolve endpoint:
>> >> >> >> > ftp://ftp-test
>> >> >> >>
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> >> > due to: Could not find a suitable setter for property:
>> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
>> same
>> >> >> type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> >> possible:
>> >> >> >> No
>> >> >> >> > type converter available to convert from type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >> >
>> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> >> with
>> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
>> >> >> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed
>> to
>> >> >> >> create
>> >> >> >> > route route24: Route[[From[ftp://ftp-test
>> >> @xxxx/MSP-ORDERS-TEST?pas...
>> >> >> >> > because of Failed to resolve endpoint:
>> >> >> >> > ftp://ftp-test
>> >> >> >>
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> >> > due to: Could not find a suitable setter for property:
>> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
>> same
>> >> >> type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> >> possible:
>> >> >> >> No
>> >> >> >> > type converter available to convert from type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >> >
>> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> >> with
>> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
>> >> >> >> > at
>> >> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
>> >> >> >> > at
>> >> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
>> >> >> >> > ... 26 more
>> >> >> >> > Caused by: org.apache.camel.ResolveEndpointFailedException:
>> Failed
>> >> to
>> >> >> >> > resolve endpoint:
>> >> >> >> > ftp://ftp-test
>> >> >> >>
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> >> > due to: Could not find a suitable setter for property:
>> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
>> same
>> >> >> type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> >> possible:
>> >> >> >> No
>> >> >> >> > type converter available to convert from type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >> >
>> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> >> with
>> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
>> >> >> >> > ... 36 more
>> >> >> >> > Caused by: java.lang.IllegalArgumentException: Could not find a
>> >> >> suitable
>> >> >> >> > setter for property: exclusiveReadLockStrategy as there isn't a
>> >> setter
>> >> >> >> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy
>> >> nor
>> >> >> type
>> >> >> >> > conversion possible: No type converter available to convert from
>> >> type:
>> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >> >
>> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> >> with
>> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
>> >> >> >> > at
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
>> >> >> >> > ... 44 more
>> >> >> >> >
>> >> >> >> > This could be because I'm importing Camel Core via Maven in
>> order
>> >> to
>> >> >> be
>> >> >> >> able
>> >> >> >> > to compile my custom strategy class and Servicemix is running
>> the
>> >> >> Camel
>> >> >> >> from
>> >> >> >> > another bundle so the classes are not compatible?
>> >> >> >> >
>> >> >> >> > Is there any workaround for this? I'm trying to make a Changed
>> lock
>> >> >> >> strategy
>> >> >> >> > for FTP component, I'll contribute it to Camel when it's done
>> but I
>> >> >> just
>> >> >> >> > need to run it before finishing it.
>> >> >> >> >
>> >> >> >> > Thank you for your time.
>> >> >> >> > Laurentiu Trica
>> >> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> --
>> >> >> >> Claus Ibsen
>> >> >> >> -----------------
>> >> >> >> FuseSource
>> >> >> >> Email: cibsen@fusesource.com
>> >> >> >> Web: http://fusesource.com
>> >> >> >> Twitter: davsclaus, fusenews
>> >> >> >> Blog: http://davsclaus.blogspot.com/
>> >> >> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Claus Ibsen
>> >> >> -----------------
>> >> >> FuseSource
>> >> >> Email: cibsen@fusesource.com
>> >> >> Web: http://fusesource.com
>> >> >> Twitter: davsclaus, fusenews
>> >> >> Blog: http://davsclaus.blogspot.com/
>> >> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Laurentiu Trica
>> >> > Software Developer             Mobile: (+40) 722 329318
>> >> > S.C MoreDevs S.R.L.          Email: laurentiu.trica@finalfolder.biz
>> >> >
>> >> > This message can contain privileged or confidential information and it
>> is
>> >> > intended only for addressee. Any unauthorized disclosure is strictly
>> >> > prohibited.
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> -----------------
>> >> FuseSource
>> >> Email: cibsen@fusesource.com
>> >> Web: http://fusesource.com
>> >> Twitter: davsclaus, fusenews
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >>
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Laurentiu Trica <la...@moredevs.ro>.
Hi Claus,

You said this: "*Adjust the **configuration to use the new version of the
camel features file*"
What do you mean by that?
Do you mean I should edit the /etc/org.apache.karaf.features.cfg file from
ServiceMix?
How can I tell it what version of Camel to use? And how to tell it to use a
specific version from my own repository?

Sorry if I'm nagging but I really need this piece of info.

Thank you.

On Wed, Jun 29, 2011 at 3:50 PM, Claus Ibsen <cl...@gmail.com> wrote:

> On Wed, Jun 29, 2011 at 2:30 PM, Laurentiu Trica
> <la...@moredevs.ro> wrote:
> > Hi Claus,
> >
> > I attached the sources and modified files + a descriptive comment.
> > Hope it helps.
> >
> > Can you please tell me how can I test my Camel changes in ServiceMix?
> > Specifically, how can I add a custom Camel version to my ServiceMix?
> >
>
> The stacktrace you posted before indicate it was the JBI assembly
> deployer that failed. Hence I thought you are using JBI.
> To upgrade Camel in SMX, you can stop the server. Adjust the
> configuration to use the new version of the camel features file. Start
> the server again. A good idea is to clear the data/cache directory as
> it would cache downloaded bundles.
>
>
> > Is it possible? Could you provide maybe a useful link or something?
> >
> > Thank you,
> > Laurentiu
> >
> > On Wed, Jun 29, 2011 at 2:19 PM, Claus Ibsen <cl...@gmail.com>
> wrote:
> >
> >> There is a JIRA ticket about the changed lock strategy for ftp
> >> https://issues.apache.org/jira/browse/CAMEL-2934
> >>
> >> You can attach your contribution to that JIRA ticket. Remember to [x]
> >> in grant license to apache when attaching files.
> >>
> >>
> >>
> >> On Wed, Jun 29, 2011 at 12:21 PM, Laurentiu Trica
> >> <la...@finalfolder.biz> wrote:
> >> > Hi,
> >> >
> >> > What do you mean by not using JBI?
> >> > I'm not explicitly using JBI...
> >> >
> >> > On the other hand, in the meanwhile I wrote e "changed" strategy for
> the
> >> > FTP/FTPS and one for SFTP.
> >> > I would like to contribute them to Camel as well, but I would also
> like
> >> to
> >> > make use of them in my project as soon as possible.
> >> >
> >> > Is there a way to include my Camel changes in my ServiceMix?
> >> > I use Servicemix 4.3.1 from Fuse. How could I do this?
> >> >
> >> > The changes I made to Camel code is minimal.
> >> > I modified the
> >> >
> >>
> camel-trunk/trunk/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
> >> > I added two strategy factories (one for FTP/FTPS and one for SFTP) and
> >> two
> >> > changed strategies.
> >> >
> >> > I just need to add this to my existing 2.6.0-fuse-01-09 Camel.
> >> >
> >> > Thanks in advance
> >> >
> >> > On Wed, Jun 29, 2011 at 11:57 AM, Claus Ibsen <cl...@gmail.com>
> >> wrote:
> >> >
> >> >> On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
> >> >> <la...@moredevs.ro> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > I'm using Servicemix 4.3.2 from Fuse.
> >> >> > I have the same problem if I want to use a strategy defined in
> another
> >> >> > bundle and I want to get it with OSGI
> >> >>
> >> >> I suggest to not use JBI. Pure OSGi works better.
> >> >>
> >> >> >
> >> >> > Regards,
> >> >> > Laurentiu
> >> >> >
> >> >> > On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <
> claus.ibsen@gmail.com>
> >> >> wrote:
> >> >> >
> >> >> >> What version of ServiceMix are you using? And try upgrading as I
> have
> >> >> >> seen this issue in the past fixed in a recent SMX release.
> >> >> >> Albeit I think that issue was not with JBI but using just OSGi
> >> bundles.
> >> >> >>
> >> >> >>
> >> >> >> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
> >> >> >> <la...@moredevs.ro> wrote:
> >> >> >> > Hi everyone,
> >> >> >> >
> >> >> >> > I have a problem using the exclusiveReadLockStrategy for Ftp2
> >> >> component.
> >> >> >> > I implemented the GenericFileExclusiveReadLockStrategy interface
> in
> >> my
> >> >> >> class
> >> >> >> > and imported the bean in the DSL and then specified
> >> >> >> > the exclusiveReadLockStrategy=#mybean on the FTP component URI
> >> (like I
> >> >> >> saw
> >> >> >> > here:
> >> >> >> >
> >> >> >>
> >> >>
> >>
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> >> >> >> > )
> >> >> >> >
> >> >> >> > The problem is I get this error:
> >> >> >> >
> >> >> >> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> >> >> >> > msp-endpoints-ftp-test
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> >> > Caused by: java.lang.Exception: Error deploying SU
> >> >> msp-endpoints-ftp-test
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> >> > ... 14 more
> >> >> >> > Caused by: javax.jbi.management.DeploymentException:
> >> >> >> <component-task-result
> >> >> >> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> >> >> >> > <component-name>servicemix-camel</component-name>
> >> >> >> > <component-task-result-details>
> >> >> >> > <task-result-details>
> >> >> >> > <task-id>deploy</task-id>
> >> >> >> > <task-result>FAILED</task-result>
> >> >> >> > <message-type>ERROR</message-type>
> >> >> >> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could
> not
> >> >> deploy
> >> >> >> > xbean service
> unit</loc-message></msg-loc-info></task-status-msg>
> >> >> >> > <exception-info>
> >> >> >> > <nesting-level>1</nesting-level>
> >> >> >> > <msg-loc-info>
> >> >> >> > <loc-token />
> >> >> >> > <loc-message>org.apache.camel.FailedToCreateRouteException:
> Failed
> >> to
> >> >> >> create
> >> >> >> > route route24: Route[[From[ftp://ftp-test
> >> @xxxx/MSP-ORDERS-TEST?pas...
> >> >> >> > because of Failed to resolve endpoint:
> >> >> >> > ftp://ftp-test
> >> >> >>
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> >> > due to: Could not find a suitable setter for property:
> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
> same
> >> >> type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> >> possible:
> >> >> >> No
> >> >> >> > type converter available to convert from type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >> >
> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> >> with
> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> </loc-message>
> >> >> >> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> >> >> >> > org.apache.camel.FailedToCreateRouteException: Failed to create
> >> route
> >> >> >> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> >> >> because
> >> >> >> of
> >> >> >> > Failed to resolve endpoint:
> >> >> >> > ftp://ftp-test
> >> >> >>
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> >> > due to: Could not find a suitable setter for property:
> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
> same
> >> >> type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> >> possible:
> >> >> >> No
> >> >> >> > type converter available to convert from type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >> >
> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> >> with
> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> >> >> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed
> to
> >> >> >> create
> >> >> >> > route route24: Route[[From[ftp://ftp-test
> >> @xxxx/MSP-ORDERS-TEST?pas...
> >> >> >> > because of Failed to resolve endpoint:
> >> >> >> > ftp://ftp-test
> >> >> >>
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> >> > due to: Could not find a suitable setter for property:
> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
> same
> >> >> type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> >> possible:
> >> >> >> No
> >> >> >> > type converter available to convert from type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >> >
> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> >> with
> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> >> >> >> > at
> >> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> >> >> >> > at
> >> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> >> >> >> > ... 26 more
> >> >> >> > Caused by: org.apache.camel.ResolveEndpointFailedException:
> Failed
> >> to
> >> >> >> > resolve endpoint:
> >> >> >> > ftp://ftp-test
> >> >> >>
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> >> > due to: Could not find a suitable setter for property:
> >> >> >> > exclusiveReadLockStrategy as there isn't a setter method with
> same
> >> >> type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> >> possible:
> >> >> >> No
> >> >> >> > type converter available to convert from type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >> >
> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> >> with
> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> >> >> >> > ... 36 more
> >> >> >> > Caused by: java.lang.IllegalArgumentException: Could not find a
> >> >> suitable
> >> >> >> > setter for property: exclusiveReadLockStrategy as there isn't a
> >> setter
> >> >> >> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy
> >> nor
> >> >> type
> >> >> >> > conversion possible: No type converter available to convert from
> >> type:
> >> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >> >
> >> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> >> with
> >> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> >> >> >> > at
> >> >> >> >
> >> >> >>
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> >> >> >> > ... 44 more
> >> >> >> >
> >> >> >> > This could be because I'm importing Camel Core via Maven in
> order
> >> to
> >> >> be
> >> >> >> able
> >> >> >> > to compile my custom strategy class and Servicemix is running
> the
> >> >> Camel
> >> >> >> from
> >> >> >> > another bundle so the classes are not compatible?
> >> >> >> >
> >> >> >> > Is there any workaround for this? I'm trying to make a Changed
> lock
> >> >> >> strategy
> >> >> >> > for FTP component, I'll contribute it to Camel when it's done
> but I
> >> >> just
> >> >> >> > need to run it before finishing it.
> >> >> >> >
> >> >> >> > Thank you for your time.
> >> >> >> > Laurentiu Trica
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> Claus Ibsen
> >> >> >> -----------------
> >> >> >> FuseSource
> >> >> >> Email: cibsen@fusesource.com
> >> >> >> Web: http://fusesource.com
> >> >> >> Twitter: davsclaus, fusenews
> >> >> >> Blog: http://davsclaus.blogspot.com/
> >> >> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Claus Ibsen
> >> >> -----------------
> >> >> FuseSource
> >> >> Email: cibsen@fusesource.com
> >> >> Web: http://fusesource.com
> >> >> Twitter: davsclaus, fusenews
> >> >> Blog: http://davsclaus.blogspot.com/
> >> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Laurentiu Trica
> >> > Software Developer             Mobile: (+40) 722 329318
> >> > S.C MoreDevs S.R.L.          Email: laurentiu.trica@finalfolder.biz
> >> >
> >> > This message can contain privileged or confidential information and it
> is
> >> > intended only for addressee. Any unauthorized disclosure is strictly
> >> > prohibited.
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> FuseSource
> >> Email: cibsen@fusesource.com
> >> Web: http://fusesource.com
> >> Twitter: davsclaus, fusenews
> >> Blog: http://davsclaus.blogspot.com/
> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >>
> >
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Claus Ibsen <cl...@gmail.com>.
On Wed, Jun 29, 2011 at 2:30 PM, Laurentiu Trica
<la...@moredevs.ro> wrote:
> Hi Claus,
>
> I attached the sources and modified files + a descriptive comment.
> Hope it helps.
>
> Can you please tell me how can I test my Camel changes in ServiceMix?
> Specifically, how can I add a custom Camel version to my ServiceMix?
>

The stacktrace you posted before indicate it was the JBI assembly
deployer that failed. Hence I thought you are using JBI.
To upgrade Camel in SMX, you can stop the server. Adjust the
configuration to use the new version of the camel features file. Start
the server again. A good idea is to clear the data/cache directory as
it would cache downloaded bundles.


> Is it possible? Could you provide maybe a useful link or something?
>
> Thank you,
> Laurentiu
>
> On Wed, Jun 29, 2011 at 2:19 PM, Claus Ibsen <cl...@gmail.com> wrote:
>
>> There is a JIRA ticket about the changed lock strategy for ftp
>> https://issues.apache.org/jira/browse/CAMEL-2934
>>
>> You can attach your contribution to that JIRA ticket. Remember to [x]
>> in grant license to apache when attaching files.
>>
>>
>>
>> On Wed, Jun 29, 2011 at 12:21 PM, Laurentiu Trica
>> <la...@finalfolder.biz> wrote:
>> > Hi,
>> >
>> > What do you mean by not using JBI?
>> > I'm not explicitly using JBI...
>> >
>> > On the other hand, in the meanwhile I wrote e "changed" strategy for the
>> > FTP/FTPS and one for SFTP.
>> > I would like to contribute them to Camel as well, but I would also like
>> to
>> > make use of them in my project as soon as possible.
>> >
>> > Is there a way to include my Camel changes in my ServiceMix?
>> > I use Servicemix 4.3.1 from Fuse. How could I do this?
>> >
>> > The changes I made to Camel code is minimal.
>> > I modified the
>> >
>> camel-trunk/trunk/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
>> > I added two strategy factories (one for FTP/FTPS and one for SFTP) and
>> two
>> > changed strategies.
>> >
>> > I just need to add this to my existing 2.6.0-fuse-01-09 Camel.
>> >
>> > Thanks in advance
>> >
>> > On Wed, Jun 29, 2011 at 11:57 AM, Claus Ibsen <cl...@gmail.com>
>> wrote:
>> >
>> >> On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
>> >> <la...@moredevs.ro> wrote:
>> >> > Hi,
>> >> >
>> >> > I'm using Servicemix 4.3.2 from Fuse.
>> >> > I have the same problem if I want to use a strategy defined in another
>> >> > bundle and I want to get it with OSGI
>> >>
>> >> I suggest to not use JBI. Pure OSGi works better.
>> >>
>> >> >
>> >> > Regards,
>> >> > Laurentiu
>> >> >
>> >> > On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <cl...@gmail.com>
>> >> wrote:
>> >> >
>> >> >> What version of ServiceMix are you using? And try upgrading as I have
>> >> >> seen this issue in the past fixed in a recent SMX release.
>> >> >> Albeit I think that issue was not with JBI but using just OSGi
>> bundles.
>> >> >>
>> >> >>
>> >> >> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
>> >> >> <la...@moredevs.ro> wrote:
>> >> >> > Hi everyone,
>> >> >> >
>> >> >> > I have a problem using the exclusiveReadLockStrategy for Ftp2
>> >> component.
>> >> >> > I implemented the GenericFileExclusiveReadLockStrategy interface in
>> my
>> >> >> class
>> >> >> > and imported the bean in the DSL and then specified
>> >> >> > the exclusiveReadLockStrategy=#mybean on the FTP component URI
>> (like I
>> >> >> saw
>> >> >> > here:
>> >> >> >
>> >> >>
>> >>
>> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
>> >> >> > )
>> >> >> >
>> >> >> > The problem is I get this error:
>> >> >> >
>> >> >> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
>> >> >> > msp-endpoints-ftp-test
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
>> >> >> > Caused by: java.lang.Exception: Error deploying SU
>> >> msp-endpoints-ftp-test
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> >> > ... 14 more
>> >> >> > Caused by: javax.jbi.management.DeploymentException:
>> >> >> <component-task-result
>> >> >> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
>> >> >> > <component-name>servicemix-camel</component-name>
>> >> >> > <component-task-result-details>
>> >> >> > <task-result-details>
>> >> >> > <task-id>deploy</task-id>
>> >> >> > <task-result>FAILED</task-result>
>> >> >> > <message-type>ERROR</message-type>
>> >> >> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not
>> >> deploy
>> >> >> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
>> >> >> > <exception-info>
>> >> >> > <nesting-level>1</nesting-level>
>> >> >> > <msg-loc-info>
>> >> >> > <loc-token />
>> >> >> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed
>> to
>> >> >> create
>> >> >> > route route24: Route[[From[ftp://ftp-test
>> @xxxx/MSP-ORDERS-TEST?pas...
>> >> >> > because of Failed to resolve endpoint:
>> >> >> > ftp://ftp-test
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> > due to: Could not find a suitable setter for property:
>> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> >> type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> possible:
>> >> >> No
>> >> >> > type converter available to convert from type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >
>> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> with
>> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> </loc-message>
>> >> >> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
>> >> >> > org.apache.camel.FailedToCreateRouteException: Failed to create
>> route
>> >> >> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> >> because
>> >> >> of
>> >> >> > Failed to resolve endpoint:
>> >> >> > ftp://ftp-test
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> > due to: Could not find a suitable setter for property:
>> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> >> type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> possible:
>> >> >> No
>> >> >> > type converter available to convert from type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >
>> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> with
>> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
>> >> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
>> >> >> create
>> >> >> > route route24: Route[[From[ftp://ftp-test
>> @xxxx/MSP-ORDERS-TEST?pas...
>> >> >> > because of Failed to resolve endpoint:
>> >> >> > ftp://ftp-test
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> > due to: Could not find a suitable setter for property:
>> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> >> type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> possible:
>> >> >> No
>> >> >> > type converter available to convert from type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >
>> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> with
>> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
>> >> >> > at
>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
>> >> >> > at
>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
>> >> >> > ... 26 more
>> >> >> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed
>> to
>> >> >> > resolve endpoint:
>> >> >> > ftp://ftp-test
>> >> >>
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> >> > due to: Could not find a suitable setter for property:
>> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> >> type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> >> possible:
>> >> >> No
>> >> >> > type converter available to convert from type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >
>> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> with
>> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
>> >> >> > ... 36 more
>> >> >> > Caused by: java.lang.IllegalArgumentException: Could not find a
>> >> suitable
>> >> >> > setter for property: exclusiveReadLockStrategy as there isn't a
>> setter
>> >> >> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy
>> nor
>> >> type
>> >> >> > conversion possible: No type converter available to convert from
>> type:
>> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> >> >
>> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> >> with
>> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
>> >> >> > at
>> >> >> >
>> >> >>
>> >>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
>> >> >> > ... 44 more
>> >> >> >
>> >> >> > This could be because I'm importing Camel Core via Maven in order
>> to
>> >> be
>> >> >> able
>> >> >> > to compile my custom strategy class and Servicemix is running the
>> >> Camel
>> >> >> from
>> >> >> > another bundle so the classes are not compatible?
>> >> >> >
>> >> >> > Is there any workaround for this? I'm trying to make a Changed lock
>> >> >> strategy
>> >> >> > for FTP component, I'll contribute it to Camel when it's done but I
>> >> just
>> >> >> > need to run it before finishing it.
>> >> >> >
>> >> >> > Thank you for your time.
>> >> >> > Laurentiu Trica
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Claus Ibsen
>> >> >> -----------------
>> >> >> FuseSource
>> >> >> Email: cibsen@fusesource.com
>> >> >> Web: http://fusesource.com
>> >> >> Twitter: davsclaus, fusenews
>> >> >> Blog: http://davsclaus.blogspot.com/
>> >> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> -----------------
>> >> FuseSource
>> >> Email: cibsen@fusesource.com
>> >> Web: http://fusesource.com
>> >> Twitter: davsclaus, fusenews
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >>
>> >
>> >
>> >
>> > --
>> > Laurentiu Trica
>> > Software Developer             Mobile: (+40) 722 329318
>> > S.C MoreDevs S.R.L.          Email: laurentiu.trica@finalfolder.biz
>> >
>> > This message can contain privileged or confidential information and it is
>> > intended only for addressee. Any unauthorized disclosure is strictly
>> > prohibited.
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Laurentiu Trica <la...@moredevs.ro>.
Hi Claus,

I attached the sources and modified files + a descriptive comment.
Hope it helps.

Can you please tell me how can I test my Camel changes in ServiceMix?
Specifically, how can I add a custom Camel version to my ServiceMix?

Is it possible? Could you provide maybe a useful link or something?

Thank you,
Laurentiu

On Wed, Jun 29, 2011 at 2:19 PM, Claus Ibsen <cl...@gmail.com> wrote:

> There is a JIRA ticket about the changed lock strategy for ftp
> https://issues.apache.org/jira/browse/CAMEL-2934
>
> You can attach your contribution to that JIRA ticket. Remember to [x]
> in grant license to apache when attaching files.
>
>
>
> On Wed, Jun 29, 2011 at 12:21 PM, Laurentiu Trica
> <la...@finalfolder.biz> wrote:
> > Hi,
> >
> > What do you mean by not using JBI?
> > I'm not explicitly using JBI...
> >
> > On the other hand, in the meanwhile I wrote e "changed" strategy for the
> > FTP/FTPS and one for SFTP.
> > I would like to contribute them to Camel as well, but I would also like
> to
> > make use of them in my project as soon as possible.
> >
> > Is there a way to include my Camel changes in my ServiceMix?
> > I use Servicemix 4.3.1 from Fuse. How could I do this?
> >
> > The changes I made to Camel code is minimal.
> > I modified the
> >
> camel-trunk/trunk/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
> > I added two strategy factories (one for FTP/FTPS and one for SFTP) and
> two
> > changed strategies.
> >
> > I just need to add this to my existing 2.6.0-fuse-01-09 Camel.
> >
> > Thanks in advance
> >
> > On Wed, Jun 29, 2011 at 11:57 AM, Claus Ibsen <cl...@gmail.com>
> wrote:
> >
> >> On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
> >> <la...@moredevs.ro> wrote:
> >> > Hi,
> >> >
> >> > I'm using Servicemix 4.3.2 from Fuse.
> >> > I have the same problem if I want to use a strategy defined in another
> >> > bundle and I want to get it with OSGI
> >>
> >> I suggest to not use JBI. Pure OSGi works better.
> >>
> >> >
> >> > Regards,
> >> > Laurentiu
> >> >
> >> > On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <cl...@gmail.com>
> >> wrote:
> >> >
> >> >> What version of ServiceMix are you using? And try upgrading as I have
> >> >> seen this issue in the past fixed in a recent SMX release.
> >> >> Albeit I think that issue was not with JBI but using just OSGi
> bundles.
> >> >>
> >> >>
> >> >> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
> >> >> <la...@moredevs.ro> wrote:
> >> >> > Hi everyone,
> >> >> >
> >> >> > I have a problem using the exclusiveReadLockStrategy for Ftp2
> >> component.
> >> >> > I implemented the GenericFileExclusiveReadLockStrategy interface in
> my
> >> >> class
> >> >> > and imported the bean in the DSL and then specified
> >> >> > the exclusiveReadLockStrategy=#mybean on the FTP component URI
> (like I
> >> >> saw
> >> >> > here:
> >> >> >
> >> >>
> >>
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> >> >> > )
> >> >> >
> >> >> > The problem is I get this error:
> >> >> >
> >> >> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> >> >> > msp-endpoints-ftp-test
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> >> >> > Caused by: java.lang.Exception: Error deploying SU
> >> msp-endpoints-ftp-test
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> >> > ... 14 more
> >> >> > Caused by: javax.jbi.management.DeploymentException:
> >> >> <component-task-result
> >> >> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> >> >> > <component-name>servicemix-camel</component-name>
> >> >> > <component-task-result-details>
> >> >> > <task-result-details>
> >> >> > <task-id>deploy</task-id>
> >> >> > <task-result>FAILED</task-result>
> >> >> > <message-type>ERROR</message-type>
> >> >> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not
> >> deploy
> >> >> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
> >> >> > <exception-info>
> >> >> > <nesting-level>1</nesting-level>
> >> >> > <msg-loc-info>
> >> >> > <loc-token />
> >> >> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed
> to
> >> >> create
> >> >> > route route24: Route[[From[ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?pas...
> >> >> > because of Failed to resolve endpoint:
> >> >> > ftp://ftp-test
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> > due to: Could not find a suitable setter for property:
> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> >> type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> possible:
> >> >> No
> >> >> > type converter available to convert from type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> with
> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> </loc-message>
> >> >> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> >> >> > org.apache.camel.FailedToCreateRouteException: Failed to create
> route
> >> >> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> >> because
> >> >> of
> >> >> > Failed to resolve endpoint:
> >> >> > ftp://ftp-test
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> > due to: Could not find a suitable setter for property:
> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> >> type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> possible:
> >> >> No
> >> >> > type converter available to convert from type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> with
> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> >> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> >> >> create
> >> >> > route route24: Route[[From[ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?pas...
> >> >> > because of Failed to resolve endpoint:
> >> >> > ftp://ftp-test
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> > due to: Could not find a suitable setter for property:
> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> >> type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> possible:
> >> >> No
> >> >> > type converter available to convert from type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> with
> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> >> >> > at
> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> >> >> > at
> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> >> >> > ... 26 more
> >> >> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed
> to
> >> >> > resolve endpoint:
> >> >> > ftp://ftp-test
> >> >>
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> >> > due to: Could not find a suitable setter for property:
> >> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> >> type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> >> possible:
> >> >> No
> >> >> > type converter available to convert from type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> with
> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> >> >> > ... 36 more
> >> >> > Caused by: java.lang.IllegalArgumentException: Could not find a
> >> suitable
> >> >> > setter for property: exclusiveReadLockStrategy as there isn't a
> setter
> >> >> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy
> nor
> >> type
> >> >> > conversion possible: No type converter available to convert from
> type:
> >> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> >> >
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> >> with
> >> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> >> >> > at
> >> >> >
> >> >>
> >>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> >> >> > ... 44 more
> >> >> >
> >> >> > This could be because I'm importing Camel Core via Maven in order
> to
> >> be
> >> >> able
> >> >> > to compile my custom strategy class and Servicemix is running the
> >> Camel
> >> >> from
> >> >> > another bundle so the classes are not compatible?
> >> >> >
> >> >> > Is there any workaround for this? I'm trying to make a Changed lock
> >> >> strategy
> >> >> > for FTP component, I'll contribute it to Camel when it's done but I
> >> just
> >> >> > need to run it before finishing it.
> >> >> >
> >> >> > Thank you for your time.
> >> >> > Laurentiu Trica
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Claus Ibsen
> >> >> -----------------
> >> >> FuseSource
> >> >> Email: cibsen@fusesource.com
> >> >> Web: http://fusesource.com
> >> >> Twitter: davsclaus, fusenews
> >> >> Blog: http://davsclaus.blogspot.com/
> >> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> FuseSource
> >> Email: cibsen@fusesource.com
> >> Web: http://fusesource.com
> >> Twitter: davsclaus, fusenews
> >> Blog: http://davsclaus.blogspot.com/
> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >>
> >
> >
> >
> > --
> > Laurentiu Trica
> > Software Developer             Mobile: (+40) 722 329318
> > S.C MoreDevs S.R.L.          Email: laurentiu.trica@finalfolder.biz
> >
> > This message can contain privileged or confidential information and it is
> > intended only for addressee. Any unauthorized disclosure is strictly
> > prohibited.
> >
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Claus Ibsen <cl...@gmail.com>.
There is a JIRA ticket about the changed lock strategy for ftp
https://issues.apache.org/jira/browse/CAMEL-2934

You can attach your contribution to that JIRA ticket. Remember to [x]
in grant license to apache when attaching files.



On Wed, Jun 29, 2011 at 12:21 PM, Laurentiu Trica
<la...@finalfolder.biz> wrote:
> Hi,
>
> What do you mean by not using JBI?
> I'm not explicitly using JBI...
>
> On the other hand, in the meanwhile I wrote e "changed" strategy for the
> FTP/FTPS and one for SFTP.
> I would like to contribute them to Camel as well, but I would also like to
> make use of them in my project as soon as possible.
>
> Is there a way to include my Camel changes in my ServiceMix?
> I use Servicemix 4.3.1 from Fuse. How could I do this?
>
> The changes I made to Camel code is minimal.
> I modified the
> camel-trunk/trunk/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
> I added two strategy factories (one for FTP/FTPS and one for SFTP) and two
> changed strategies.
>
> I just need to add this to my existing 2.6.0-fuse-01-09 Camel.
>
> Thanks in advance
>
> On Wed, Jun 29, 2011 at 11:57 AM, Claus Ibsen <cl...@gmail.com> wrote:
>
>> On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
>> <la...@moredevs.ro> wrote:
>> > Hi,
>> >
>> > I'm using Servicemix 4.3.2 from Fuse.
>> > I have the same problem if I want to use a strategy defined in another
>> > bundle and I want to get it with OSGI
>>
>> I suggest to not use JBI. Pure OSGi works better.
>>
>> >
>> > Regards,
>> > Laurentiu
>> >
>> > On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <cl...@gmail.com>
>> wrote:
>> >
>> >> What version of ServiceMix are you using? And try upgrading as I have
>> >> seen this issue in the past fixed in a recent SMX release.
>> >> Albeit I think that issue was not with JBI but using just OSGi bundles.
>> >>
>> >>
>> >> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
>> >> <la...@moredevs.ro> wrote:
>> >> > Hi everyone,
>> >> >
>> >> > I have a problem using the exclusiveReadLockStrategy for Ftp2
>> component.
>> >> > I implemented the GenericFileExclusiveReadLockStrategy interface in my
>> >> class
>> >> > and imported the bean in the DSL and then specified
>> >> > the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I
>> >> saw
>> >> > here:
>> >> >
>> >>
>> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
>> >> > )
>> >> >
>> >> > The problem is I get this error:
>> >> >
>> >> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
>> >> > msp-endpoints-ftp-test
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
>> >> > Caused by: java.lang.Exception: Error deploying SU
>> msp-endpoints-ftp-test
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> >> > ... 14 more
>> >> > Caused by: javax.jbi.management.DeploymentException:
>> >> <component-task-result
>> >> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
>> >> > <component-name>servicemix-camel</component-name>
>> >> > <component-task-result-details>
>> >> > <task-result-details>
>> >> > <task-id>deploy</task-id>
>> >> > <task-result>FAILED</task-result>
>> >> > <message-type>ERROR</message-type>
>> >> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not
>> deploy
>> >> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
>> >> > <exception-info>
>> >> > <nesting-level>1</nesting-level>
>> >> > <msg-loc-info>
>> >> > <loc-token />
>> >> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
>> >> create
>> >> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> >> > because of Failed to resolve endpoint:
>> >> > ftp://ftp-test
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> > due to: Could not find a suitable setter for property:
>> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> possible:
>> >> No
>> >> > type converter available to convert from type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> with
>> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> </loc-message>
>> >> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
>> >> > org.apache.camel.FailedToCreateRouteException: Failed to create route
>> >> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> because
>> >> of
>> >> > Failed to resolve endpoint:
>> >> > ftp://ftp-test
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> > due to: Could not find a suitable setter for property:
>> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> possible:
>> >> No
>> >> > type converter available to convert from type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> with
>> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> > at
>> >> >
>> >>
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
>> >> > at
>> >> >
>> >>
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>> >> > at
>> >> >
>> >>
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>> >> > at
>> >> >
>> >>
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>> >> > at
>> >> >
>> >>
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
>> >> > at
>> >> >
>> >>
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
>> >> > at
>> >> >
>> >>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
>> >> > at
>> >> >
>> >>
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
>> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
>> >> create
>> >> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> >> > because of Failed to resolve endpoint:
>> >> > ftp://ftp-test
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> > due to: Could not find a suitable setter for property:
>> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> possible:
>> >> No
>> >> > type converter available to convert from type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> with
>> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> > at
>> >> >
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
>> >> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
>> >> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
>> >> > ... 26 more
>> >> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
>> >> > resolve endpoint:
>> >> > ftp://ftp-test
>> >>
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> >> > due to: Could not find a suitable setter for property:
>> >> > exclusiveReadLockStrategy as there isn't a setter method with same
>> type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
>> possible:
>> >> No
>> >> > type converter available to convert from type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> with
>> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
>> >> > ... 36 more
>> >> > Caused by: java.lang.IllegalArgumentException: Could not find a
>> suitable
>> >> > setter for property: exclusiveReadLockStrategy as there isn't a setter
>> >> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor
>> type
>> >> > conversion possible: No type converter available to convert from type:
>> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
>> with
>> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> >> > at
>> >> >
>> >>
>> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
>> >> > at
>> >> >
>> >>
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
>> >> > ... 44 more
>> >> >
>> >> > This could be because I'm importing Camel Core via Maven in order to
>> be
>> >> able
>> >> > to compile my custom strategy class and Servicemix is running the
>> Camel
>> >> from
>> >> > another bundle so the classes are not compatible?
>> >> >
>> >> > Is there any workaround for this? I'm trying to make a Changed lock
>> >> strategy
>> >> > for FTP component, I'll contribute it to Camel when it's done but I
>> just
>> >> > need to run it before finishing it.
>> >> >
>> >> > Thank you for your time.
>> >> > Laurentiu Trica
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> -----------------
>> >> FuseSource
>> >> Email: cibsen@fusesource.com
>> >> Web: http://fusesource.com
>> >> Twitter: davsclaus, fusenews
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Author of Camel in Action: http://www.manning.com/ibsen/
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>
>
>
> --
> Laurentiu Trica
> Software Developer             Mobile: (+40) 722 329318
> S.C MoreDevs S.R.L.          Email: laurentiu.trica@finalfolder.biz
>
> This message can contain privileged or confidential information and it is
> intended only for addressee. Any unauthorized disclosure is strictly
> prohibited.
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Laurentiu Trica <la...@finalfolder.biz>.
Hi,

What do you mean by not using JBI?
I'm not explicitly using JBI...

On the other hand, in the meanwhile I wrote e "changed" strategy for the
FTP/FTPS and one for SFTP.
I would like to contribute them to Camel as well, but I would also like to
make use of them in my project as soon as possible.

Is there a way to include my Camel changes in my ServiceMix?
I use Servicemix 4.3.1 from Fuse. How could I do this?

The changes I made to Camel code is minimal.
I modified the
camel-trunk/trunk/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
I added two strategy factories (one for FTP/FTPS and one for SFTP) and two
changed strategies.

I just need to add this to my existing 2.6.0-fuse-01-09 Camel.

Thanks in advance

On Wed, Jun 29, 2011 at 11:57 AM, Claus Ibsen <cl...@gmail.com> wrote:

> On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
> <la...@moredevs.ro> wrote:
> > Hi,
> >
> > I'm using Servicemix 4.3.2 from Fuse.
> > I have the same problem if I want to use a strategy defined in another
> > bundle and I want to get it with OSGI
>
> I suggest to not use JBI. Pure OSGi works better.
>
> >
> > Regards,
> > Laurentiu
> >
> > On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <cl...@gmail.com>
> wrote:
> >
> >> What version of ServiceMix are you using? And try upgrading as I have
> >> seen this issue in the past fixed in a recent SMX release.
> >> Albeit I think that issue was not with JBI but using just OSGi bundles.
> >>
> >>
> >> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
> >> <la...@moredevs.ro> wrote:
> >> > Hi everyone,
> >> >
> >> > I have a problem using the exclusiveReadLockStrategy for Ftp2
> component.
> >> > I implemented the GenericFileExclusiveReadLockStrategy interface in my
> >> class
> >> > and imported the bean in the DSL and then specified
> >> > the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I
> >> saw
> >> > here:
> >> >
> >>
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> >> > )
> >> >
> >> > The problem is I get this error:
> >> >
> >> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> >> > msp-endpoints-ftp-test
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> >> > Caused by: java.lang.Exception: Error deploying SU
> msp-endpoints-ftp-test
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> >> > ... 14 more
> >> > Caused by: javax.jbi.management.DeploymentException:
> >> <component-task-result
> >> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> >> > <component-name>servicemix-camel</component-name>
> >> > <component-task-result-details>
> >> > <task-result-details>
> >> > <task-id>deploy</task-id>
> >> > <task-result>FAILED</task-result>
> >> > <message-type>ERROR</message-type>
> >> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not
> deploy
> >> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
> >> > <exception-info>
> >> > <nesting-level>1</nesting-level>
> >> > <msg-loc-info>
> >> > <loc-token />
> >> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
> >> create
> >> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> >> > because of Failed to resolve endpoint:
> >> > ftp://ftp-test
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> > due to: Could not find a suitable setter for property:
> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> possible:
> >> No
> >> > type converter available to convert from type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> </loc-message>
> >> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> >> > org.apache.camel.FailedToCreateRouteException: Failed to create route
> >> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> because
> >> of
> >> > Failed to resolve endpoint:
> >> > ftp://ftp-test
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> > due to: Could not find a suitable setter for property:
> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> possible:
> >> No
> >> > type converter available to convert from type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> > at
> >> >
> >>
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> >> > at
> >> >
> >>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> >> > at
> >> >
> >>
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> >> > at
> >> >
> >>
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> >> > at
> >> >
> >>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> >> > at
> >> >
> >>
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> >> > at
> >> >
> >>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> >> > at
> >> >
> >>
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> >> > at
> >> >
> >>
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> >> > at
> >> >
> >>
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> >> > at
> >> >
> >>
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> >> > at
> >> >
> >>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> >> > at
> >> >
> >>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> >> > at
> >> >
> >>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> >> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> >> create
> >> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> >> > because of Failed to resolve endpoint:
> >> > ftp://ftp-test
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> > due to: Could not find a suitable setter for property:
> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> possible:
> >> No
> >> > type converter available to convert from type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> > at
> >> >
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> >> > at
> >> >
> >>
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> >> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> >> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> >> > at
> >> >
> >>
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> >> > at
> >> >
> >>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> >> > ... 26 more
> >> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> >> > resolve endpoint:
> >> > ftp://ftp-test
> >>
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> >> > due to: Could not find a suitable setter for property:
> >> > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion
> possible:
> >> No
> >> > type converter available to convert from type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> >> > at
> >> >
> >>
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> >> > at
> >> >
> >>
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> >> > at
> >> >
> >>
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> >> > at
> >> >
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> >> > at
> >> >
> >>
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> >> > ... 36 more
> >> > Caused by: java.lang.IllegalArgumentException: Could not find a
> suitable
> >> > setter for property: exclusiveReadLockStrategy as there isn't a setter
> >> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor
> type
> >> > conversion possible: No type converter available to convert from type:
> >> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> >> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> >> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> >> > at
> >> >
> >>
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> >> > at
> >> >
> >>
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> >> > at
> >> >
> >>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> >> > at
> >> >
> >>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> >> > at
> >> >
> >>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> >> > ... 44 more
> >> >
> >> > This could be because I'm importing Camel Core via Maven in order to
> be
> >> able
> >> > to compile my custom strategy class and Servicemix is running the
> Camel
> >> from
> >> > another bundle so the classes are not compatible?
> >> >
> >> > Is there any workaround for this? I'm trying to make a Changed lock
> >> strategy
> >> > for FTP component, I'll contribute it to Camel when it's done but I
> just
> >> > need to run it before finishing it.
> >> >
> >> > Thank you for your time.
> >> > Laurentiu Trica
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> FuseSource
> >> Email: cibsen@fusesource.com
> >> Web: http://fusesource.com
> >> Twitter: davsclaus, fusenews
> >> Blog: http://davsclaus.blogspot.com/
> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>



-- 
Laurentiu Trica
Software Developer             Mobile: (+40) 722 329318
S.C MoreDevs S.R.L.          Email: laurentiu.trica@finalfolder.biz

This message can contain privileged or confidential information and it is
intended only for addressee. Any unauthorized disclosure is strictly
prohibited.

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Claus Ibsen <cl...@gmail.com>.
On Tue, Jun 28, 2011 at 3:08 PM, Laurentiu Trica
<la...@moredevs.ro> wrote:
> Hi,
>
> I'm using Servicemix 4.3.2 from Fuse.
> I have the same problem if I want to use a strategy defined in another
> bundle and I want to get it with OSGI

I suggest to not use JBI. Pure OSGi works better.

>
> Regards,
> Laurentiu
>
> On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <cl...@gmail.com> wrote:
>
>> What version of ServiceMix are you using? And try upgrading as I have
>> seen this issue in the past fixed in a recent SMX release.
>> Albeit I think that issue was not with JBI but using just OSGi bundles.
>>
>>
>> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
>> <la...@moredevs.ro> wrote:
>> > Hi everyone,
>> >
>> > I have a problem using the exclusiveReadLockStrategy for Ftp2 component.
>> > I implemented the GenericFileExclusiveReadLockStrategy interface in my
>> class
>> > and imported the bean in the DSL and then specified
>> > the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I
>> saw
>> > here:
>> >
>> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
>> > )
>> >
>> > The problem is I get this error:
>> >
>> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
>> > msp-endpoints-ftp-test
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
>> > Caused by: java.lang.Exception: Error deploying SU msp-endpoints-ftp-test
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
>> > ... 14 more
>> > Caused by: javax.jbi.management.DeploymentException:
>> <component-task-result
>> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
>> > <component-name>servicemix-camel</component-name>
>> > <component-task-result-details>
>> > <task-result-details>
>> > <task-id>deploy</task-id>
>> > <task-result>FAILED</task-result>
>> > <message-type>ERROR</message-type>
>> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy
>> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
>> > <exception-info>
>> > <nesting-level>1</nesting-level>
>> > <msg-loc-info>
>> > <loc-token />
>> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
>> create
>> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> > because of Failed to resolve endpoint:
>> > ftp://ftp-test
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> > due to: Could not find a suitable setter for property:
>> > exclusiveReadLockStrategy as there isn't a setter method with same type:
>> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
>> No
>> > type converter available to convert from type:
>> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
>> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
>> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
>> > org.apache.camel.FailedToCreateRouteException: Failed to create route
>> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas... because
>> of
>> > Failed to resolve endpoint:
>> > ftp://ftp-test
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> > due to: Could not find a suitable setter for property:
>> > exclusiveReadLockStrategy as there isn't a setter method with same type:
>> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
>> No
>> > type converter available to convert from type:
>> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
>> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> > at
>> >
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
>> > at
>> >
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
>> > at
>> >
>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
>> > at
>> >
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>> > at
>> >
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>> > at
>> >
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>> > at
>> >
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>> > at
>> >
>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
>> > at
>> >
>> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
>> > at
>> >
>> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
>> > at
>> >
>> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
>> > at
>> >
>> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
>> > at
>> >
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>> > at
>> >
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
>> > at
>> >
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
>> > at
>> >
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
>> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
>> create
>> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
>> > because of Failed to resolve endpoint:
>> > ftp://ftp-test
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> > due to: Could not find a suitable setter for property:
>> > exclusiveReadLockStrategy as there isn't a setter method with same type:
>> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
>> No
>> > type converter available to convert from type:
>> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
>> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> > at
>> >
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
>> > at
>> >
>> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
>> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
>> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
>> > at
>> >
>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
>> > at
>> >
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
>> > ... 26 more
>> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
>> > resolve endpoint:
>> > ftp://ftp-test
>> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
>> > due to: Could not find a suitable setter for property:
>> > exclusiveReadLockStrategy as there isn't a setter method with same type:
>> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
>> No
>> > type converter available to convert from type:
>> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
>> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
>> > at
>> >
>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
>> > at
>> >
>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
>> > at
>> >
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
>> > at
>> >
>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
>> > at
>> >
>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>> > at
>> >
>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
>> > at
>> >
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
>> > at
>> >
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
>> > ... 36 more
>> > Caused by: java.lang.IllegalArgumentException: Could not find a suitable
>> > setter for property: exclusiveReadLockStrategy as there isn't a setter
>> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor type
>> > conversion possible: No type converter available to convert from type:
>> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
>> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
>> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
>> > at
>> >
>> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
>> > at
>> >
>> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
>> > at
>> >
>> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
>> > at
>> >
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
>> > at
>> >
>> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
>> > at
>> >
>> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
>> > at
>> >
>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
>> > ... 44 more
>> >
>> > This could be because I'm importing Camel Core via Maven in order to be
>> able
>> > to compile my custom strategy class and Servicemix is running the Camel
>> from
>> > another bundle so the classes are not compatible?
>> >
>> > Is there any workaround for this? I'm trying to make a Changed lock
>> strategy
>> > for FTP component, I'll contribute it to Camel when it's done but I just
>> > need to run it before finishing it.
>> >
>> > Thank you for your time.
>> > Laurentiu Trica
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cibsen@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Laurentiu Trica <la...@moredevs.ro>.
Hi,

I'm using Servicemix 4.3.2 from Fuse.
I have the same problem if I want to use a strategy defined in another
bundle and I want to get it with OSGI

Regards,
Laurentiu

On Tue, Jun 28, 2011 at 8:50 AM, Claus Ibsen <cl...@gmail.com> wrote:

> What version of ServiceMix are you using? And try upgrading as I have
> seen this issue in the past fixed in a recent SMX release.
> Albeit I think that issue was not with JBI but using just OSGi bundles.
>
>
> On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
> <la...@moredevs.ro> wrote:
> > Hi everyone,
> >
> > I have a problem using the exclusiveReadLockStrategy for Ftp2 component.
> > I implemented the GenericFileExclusiveReadLockStrategy interface in my
> class
> > and imported the bean in the DSL and then specified
> > the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I
> saw
> > here:
> >
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> > )
> >
> > The problem is I get this error:
> >
> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> > msp-endpoints-ftp-test
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> > Caused by: java.lang.Exception: Error deploying SU msp-endpoints-ftp-test
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > ... 14 more
> > Caused by: javax.jbi.management.DeploymentException:
> <component-task-result
> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> > <component-name>servicemix-camel</component-name>
> > <component-task-result-details>
> > <task-result-details>
> > <task-id>deploy</task-id>
> > <task-result>FAILED</task-result>
> > <message-type>ERROR</message-type>
> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy
> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
> > <exception-info>
> > <nesting-level>1</nesting-level>
> > <msg-loc-info>
> > <loc-token />
> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
> create
> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> > because of Failed to resolve endpoint:
> > ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> > org.apache.camel.FailedToCreateRouteException: Failed to create route
> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas... because
> of
> > Failed to resolve endpoint:
> > ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> > at
> >
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> > at
> >
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> > at
> >
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> > at
> >
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> > at
> >
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> > at
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> > at
> >
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> > at
> >
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> > at
> >
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> > at
> >
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> > at
> >
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> > at
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> > at
> >
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> > at
> >
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> > at
> >
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> > at
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> > at
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> > at
> >
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> > at
> >
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> > at
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> create
> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> > because of Failed to resolve endpoint:
> > ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> > at
> >
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> > at
> >
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> > at
> >
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> > ... 26 more
> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> > resolve endpoint:
> > ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> > at
> >
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> > at
> >
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> > at
> >
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> > at
> >
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> > at
> >
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> > at
> >
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> > at
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> > at
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> > ... 36 more
> > Caused by: java.lang.IllegalArgumentException: Could not find a suitable
> > setter for property: exclusiveReadLockStrategy as there isn't a setter
> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor type
> > conversion possible: No type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> > at
> >
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> > at
> >
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> > at
> >
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> > at
> >
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> > at
> >
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> > at
> >
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> > ... 44 more
> >
> > This could be because I'm importing Camel Core via Maven in order to be
> able
> > to compile my custom strategy class and Servicemix is running the Camel
> from
> > another bundle so the classes are not compatible?
> >
> > Is there any workaround for this? I'm trying to make a Changed lock
> strategy
> > for FTP component, I'll contribute it to Camel when it's done but I just
> > need to run it before finishing it.
> >
> > Thank you for your time.
> > Laurentiu Trica
> >
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Claus Ibsen <cl...@gmail.com>.
What version of ServiceMix are you using? And try upgrading as I have
seen this issue in the past fixed in a recent SMX release.
Albeit I think that issue was not with JBI but using just OSGi bundles.


On Thu, Jun 23, 2011 at 3:15 PM, Laurentiu Trica
<la...@moredevs.ro> wrote:
> Hi everyone,
>
> I have a problem using the exclusiveReadLockStrategy for Ftp2 component.
> I implemented the GenericFileExclusiveReadLockStrategy interface in my class
> and imported the bean in the DSL and then specified
> the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I saw
> here:
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> )
>
> The problem is I get this error:
>
> javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> msp-endpoints-ftp-test
> at
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> at
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> at
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> at
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> Caused by: java.lang.Exception: Error deploying SU msp-endpoints-ftp-test
> at
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> ... 14 more
> Caused by: javax.jbi.management.DeploymentException: <component-task-result
> xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> <component-name>servicemix-camel</component-name>
> <component-task-result-details>
> <task-result-details>
> <task-id>deploy</task-id>
> <task-result>FAILED</task-result>
> <message-type>ERROR</message-type>
> <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy
> xbean service unit</loc-message></msg-loc-info></task-status-msg>
> <exception-info>
> <nesting-level>1</nesting-level>
> <msg-loc-info>
> <loc-token />
> <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to create
> route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> because of Failed to resolve endpoint:
> ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
> <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas... because of
> Failed to resolve endpoint:
> ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> at
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> at
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> at
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> at
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> at
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> at
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> at
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> at
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> at
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> at
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> at
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> at
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> at
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> at
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> at
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
> route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> because of Failed to resolve endpoint:
> ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> at
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> at
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> at
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> ... 26 more
> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> resolve endpoint:
> ftp://ftp-test@xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> at
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> at
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> at
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> at
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> at
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> at
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> ... 36 more
> Caused by: java.lang.IllegalArgumentException: Could not find a suitable
> setter for property: exclusiveReadLockStrategy as there isn't a setter
> method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor type
> conversion possible: No type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> at
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> at
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> at
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> at
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> at
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> at
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> ... 44 more
>
> This could be because I'm importing Camel Core via Maven in order to be able
> to compile my custom strategy class and Servicemix is running the Camel from
> another bundle so the classes are not compatible?
>
> Is there any workaround for this? I'm trying to make a Changed lock strategy
> for FTP component, I'll contribute it to Camel when it's done but I just
> need to run it before finishing it.
>
> Thank you for your time.
> Laurentiu Trica
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Jon Anstey <ja...@gmail.com>.
Hmmm.. not sure without looking at your app. Maybe create a new ticket (
https://issues.apache.org/jira/browse/CAMEL) and attach a zip of your
project?

Cheers,
Jon

On Fri, Jun 24, 2011 at 10:37 AM, Laurentiu Trica <
laurentiu.trica@moredevs.ro> wrote:

> Hello,
>
> I tried using the same version but it doesn't work either.
>
> Any other ideas?
>
> On Thu, Jun 23, 2011 at 4:28 PM, Jon Anstey <ja...@gmail.com> wrote:
>
> > Are you using the same exact version of Camel in your pom.xml and SMX
> > install?
> >
> > On Thu, Jun 23, 2011 at 2:15 PM, Laurentiu Trica <
> > laurentiu.trica@moredevs.ro> wrote:
> >
> > > Hi everyone,
> > >
> > > I have a problem using the exclusiveReadLockStrategy for Ftp2
> component.
> > > I implemented the GenericFileExclusiveReadLockStrategy interface in my
> > > class
> > > and imported the bean in the DSL and then specified
> > > the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I
> > saw
> > > here:
> > >
> > >
> >
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> > > )
> > >
> > > The problem is I get this error:
> > >
> > > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> > > msp-endpoints-ftp-test
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> > > Caused by: java.lang.Exception: Error deploying SU
> msp-endpoints-ftp-test
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > > ... 14 more
> > > Caused by: javax.jbi.management.DeploymentException:
> > <component-task-result
> > > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> > > <component-name>servicemix-camel</component-name>
> > > <component-task-result-details>
> > > <task-result-details>
> > > <task-id>deploy</task-id>
> > > <task-result>FAILED</task-result>
> > > <message-type>ERROR</message-type>
> > > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not
> deploy
> > > xbean service unit</loc-message></msg-loc-info></task-status-msg>
> > > <exception-info>
> > > <nesting-level>1</nesting-level>
> > > <msg-loc-info>
> > > <loc-token />
> > > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
> > > create
> > > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> > > because of Failed to resolve endpoint:
> > > ftp://ftp-test
> > >
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > > due to: Could not find a suitable setter for property:
> > > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> > > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> > No
> > > type converter available to convert from type:
> > > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> > > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
> > > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> > > org.apache.camel.FailedToCreateRouteException: Failed to create route
> > > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> because
> > of
> > > Failed to resolve endpoint:
> > > ftp://ftp-test
> > >
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > > due to: Could not find a suitable setter for property:
> > > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> > > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> > No
> > > type converter available to convert from type:
> > > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> > > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > > at
> > >
> > >
> >
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> > > at
> > >
> > >
> >
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> > > at
> > >
> > >
> >
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> > > at
> > >
> > >
> >
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> > > at
> > >
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> > > at
> > >
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> > > at
> > >
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> > > at
> > >
> > >
> >
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> > > at
> > >
> > >
> >
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> > > at
> > >
> > >
> >
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> > > at
> > >
> > >
> >
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> > > at
> > >
> > >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> > > at
> > >
> > >
> >
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> > > at
> > >
> > >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> > > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> > create
> > > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> > > because of Failed to resolve endpoint:
> > > ftp://ftp-test
> > >
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > > due to: Could not find a suitable setter for property:
> > > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> > > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> > No
> > > type converter available to convert from type:
> > > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> > > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > > at
> > >
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> > > at
> > >
> > >
> >
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> > > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> > > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> > > at
> > >
> > >
> >
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> > > at
> > >
> > >
> >
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> > > ... 26 more
> > > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> > > resolve endpoint:
> > > ftp://ftp-test
> > >
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > > due to: Could not find a suitable setter for property:
> > > exclusiveReadLockStrategy as there isn't a setter method with same
> type:
> > > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> > No
> > > type converter available to convert from type:
> > > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> > > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> > > at
> > >
> > >
> >
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> > > at
> > >
> > >
> >
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> > > at
> > >
> > >
> >
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> > > at
> > >
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> > > at
> > >
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> > > ... 36 more
> > > Caused by: java.lang.IllegalArgumentException: Could not find a
> suitable
> > > setter for property: exclusiveReadLockStrategy as there isn't a setter
> > > method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor
> type
> > > conversion possible: No type converter available to convert from type:
> > > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy
> with
> > > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > > at
> > >
> > >
> >
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> > > at
> > >
> > >
> >
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> > > at
> > >
> > >
> >
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> > > at
> > >
> > >
> >
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> > > at
> > >
> > >
> >
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> > > ... 44 more
> > >
> > > This could be because I'm importing Camel Core via Maven in order to be
> > > able
> > > to compile my custom strategy class and Servicemix is running the Camel
> > > from
> > > another bundle so the classes are not compatible?
> > >
> > > Is there any workaround for this? I'm trying to make a Changed lock
> > > strategy
> > > for FTP component, I'll contribute it to Camel when it's done but I
> just
> > > need to run it before finishing it.
> > >
> > > Thank you for your time.
> > > Laurentiu Trica
> > >
> >
> >
> >
> > --
> > Cheers,
> > Jon
> > ---------------
> > FuseSource
> > Email: jon@fusesource.com
> > Web: fusesource.com
> > Twitter: jon_anstey
> > Blog: http://janstey.blogspot.com
> > Author of Camel in Action: http://manning.com/ibsen
> >
>
>
>
> --
> Laurentiu Trica
> Software Developer             Mobile: (+40) 722 329318
> S.C MoreDevs S.R.L.          Email: laurentiu.trica@moredevs.ro
>
> This message can contain privileged or confidential information and it is
> intended only for addressee. Any unauthorized disclosure is strictly
> prohibited.
>



-- 
Cheers,
Jon
---------------
FuseSource
Email: jon@fusesource.com
Web: fusesource.com
Twitter: jon_anstey
Blog: http://janstey.blogspot.com
Author of Camel in Action: http://manning.com/ibsen

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Laurentiu Trica <la...@moredevs.ro>.
Hello,

I tried using the same version but it doesn't work either.

Any other ideas?

On Thu, Jun 23, 2011 at 4:28 PM, Jon Anstey <ja...@gmail.com> wrote:

> Are you using the same exact version of Camel in your pom.xml and SMX
> install?
>
> On Thu, Jun 23, 2011 at 2:15 PM, Laurentiu Trica <
> laurentiu.trica@moredevs.ro> wrote:
>
> > Hi everyone,
> >
> > I have a problem using the exclusiveReadLockStrategy for Ftp2 component.
> > I implemented the GenericFileExclusiveReadLockStrategy interface in my
> > class
> > and imported the bean in the DSL and then specified
> > the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I
> saw
> > here:
> >
> >
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> > )
> >
> > The problem is I get this error:
> >
> > javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> > msp-endpoints-ftp-test
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> > Caused by: java.lang.Exception: Error deploying SU msp-endpoints-ftp-test
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> > ... 14 more
> > Caused by: javax.jbi.management.DeploymentException:
> <component-task-result
> > xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> > <component-name>servicemix-camel</component-name>
> > <component-task-result-details>
> > <task-result-details>
> > <task-id>deploy</task-id>
> > <task-result>FAILED</task-result>
> > <message-type>ERROR</message-type>
> > <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy
> > xbean service unit</loc-message></msg-loc-info></task-status-msg>
> > <exception-info>
> > <nesting-level>1</nesting-level>
> > <msg-loc-info>
> > <loc-token />
> > <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
> > create
> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> > because of Failed to resolve endpoint:
> > ftp://ftp-test
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
> > <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> > org.apache.camel.FailedToCreateRouteException: Failed to create route
> > route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas... because
> of
> > Failed to resolve endpoint:
> > ftp://ftp-test
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> >
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> > at
> >
> >
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> > at
> >
> >
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> > at
> >
> >
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> > at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> > at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> > at
> >
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> > at
> >
> >
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> > at
> >
> >
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> > at
> >
> >
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> > at
> >
> >
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> > at
> >
> >
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> > at
> >
> >
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> > at
> >
> >
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> > at
> >
> >
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> > at
> >
> >
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> create
> > route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> > because of Failed to resolve endpoint:
> > ftp://ftp-test
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> > at
> >
> >
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> > at
> >
> >
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> > at
> >
> >
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> > ... 26 more
> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> > resolve endpoint:
> > ftp://ftp-test
> >
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> > due to: Could not find a suitable setter for property:
> > exclusiveReadLockStrategy as there isn't a setter method with same type:
> > de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible:
> No
> > type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> > at
> >
> >
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> > at
> >
> >
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> > at
> >
> >
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> > at
> >
> >
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> > at
> >
> >
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> > at
> >
> >
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> > at
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> > at
> >
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> > ... 36 more
> > Caused by: java.lang.IllegalArgumentException: Could not find a suitable
> > setter for property: exclusiveReadLockStrategy as there isn't a setter
> > method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor type
> > conversion possible: No type converter available to convert from type:
> > de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> > org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> > value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> > at
> >
> >
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> > at
> >
> >
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> > at
> >
> >
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> > at
> >
> >
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> > at
> >
> >
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> > at
> >
> >
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> > at
> >
> >
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> > ... 44 more
> >
> > This could be because I'm importing Camel Core via Maven in order to be
> > able
> > to compile my custom strategy class and Servicemix is running the Camel
> > from
> > another bundle so the classes are not compatible?
> >
> > Is there any workaround for this? I'm trying to make a Changed lock
> > strategy
> > for FTP component, I'll contribute it to Camel when it's done but I just
> > need to run it before finishing it.
> >
> > Thank you for your time.
> > Laurentiu Trica
> >
>
>
>
> --
> Cheers,
> Jon
> ---------------
> FuseSource
> Email: jon@fusesource.com
> Web: fusesource.com
> Twitter: jon_anstey
> Blog: http://janstey.blogspot.com
> Author of Camel in Action: http://manning.com/ibsen
>



-- 
Laurentiu Trica
Software Developer             Mobile: (+40) 722 329318
S.C MoreDevs S.R.L.          Email: laurentiu.trica@moredevs.ro

This message can contain privileged or confidential information and it is
intended only for addressee. Any unauthorized disclosure is strictly
prohibited.

Re: Custom exclusiveReadLockStrategy in Servicemix + Camel

Posted by Jon Anstey <ja...@gmail.com>.
Are you using the same exact version of Camel in your pom.xml and SMX
install?

On Thu, Jun 23, 2011 at 2:15 PM, Laurentiu Trica <
laurentiu.trica@moredevs.ro> wrote:

> Hi everyone,
>
> I have a problem using the exclusiveReadLockStrategy for Ftp2 component.
> I implemented the GenericFileExclusiveReadLockStrategy interface in my
> class
> and imported the bean in the DSL and then specified
> the exclusiveReadLockStrategy=#mybean on the FTP component URI (like I saw
> here:
>
> http://camel.465427.n5.nabble.com/How-to-Use-exclusiveReadLockStrategy-property-in-file-component-td604330.html
> )
>
> The problem is I get this error:
>
> javax.jbi.JBIException: java.lang.Exception: Error deploying SU
> msp-endpoints-ftp-test
> at
>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.0.v20100517.jar:]
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)[6:org.apache.felix.fileinstall:3.0.2]
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)[6:org.apache.felix.fileinstall:3.0.2]
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)[6:org.apache.felix.fileinstall:3.0.2]
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)[6:org.apache.felix.fileinstall:3.0.2]
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)[6:org.apache.felix.fileinstall:3.0.2]
> Caused by: java.lang.Exception: Error deploying SU msp-endpoints-ftp-test
> at
>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:213)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> at
>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)[93:org.apache.servicemix.jbi.deployer:1.4.0.fuse-01-09]
> ... 14 more
> Caused by: javax.jbi.management.DeploymentException: <component-task-result
> xmlns="http://java.sun.com/xml/ns/jbi/management-message">
> <component-name>servicemix-camel</component-name>
> <component-task-result-details>
> <task-result-details>
> <task-id>deploy</task-id>
> <task-result>FAILED</task-result>
> <message-type>ERROR</message-type>
> <task-status-msg><msg-loc-info><loc-token/><loc-message>Could not deploy
> xbean service unit</loc-message></msg-loc-info></task-status-msg>
> <exception-info>
> <nesting-level>1</nesting-level>
> <msg-loc-info>
> <loc-token />
> <loc-message>org.apache.camel.FailedToCreateRouteException: Failed to
> create
> route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> because of Failed to resolve endpoint:
> ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf</loc-message>
> <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException:
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas... because of
> Failed to resolve endpoint:
> ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
>
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
> at
>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103)
> at
>
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:238)
> at
>
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
> at
>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
> at
>
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
> at
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
> at
>
> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:88)
> at
>
> org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
> at
>
> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
> at
>
> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
> at
>
> org.apache.servicemix.jbi.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:104)
> at
>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:207)
> at
>
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:334)
> at
>
> org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:264)
> at
>
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:919)
> at
>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
> at
>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
> at
>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1349)
> at
>
> org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1300)
> at
>
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:380)
> at
>
> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1136)
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:1122)
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1115)
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:433)
> at
>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:241)
> Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
> route route24: Route[[From[ftp://ftp-test@xxxx/MSP-ORDERS-TEST?pas...
> because of Failed to resolve endpoint:
> ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
> at
>
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
> at
>
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
> at
>
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> at
>
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
> at
>
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203)
> at
>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101)
> ... 26 more
> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> resolve endpoint:
> ftp://ftp-test
> @xxxx/MSP-ORDERS-TEST?binary=true&exclusiveReadLockStrategy=%23lockStrategy&move=.archive&moveFailed=.error&password=xxxx
> due to: Could not find a suitable setter for property:
> exclusiveReadLockStrategy as there isn't a setter method with same type:
> de.edigrid.maspero.FtpChangedLockStrategy nor type conversion possible: No
> type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
> at
>
> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
> at
>
> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
> at
>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
> at
>
> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
> at
>
> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
> at
>
> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
> at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
> at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
> ... 36 more
> Caused by: java.lang.IllegalArgumentException: Could not find a suitable
> setter for property: exclusiveReadLockStrategy as there isn't a setter
> method with same type: de.edigrid.maspero.FtpChangedLockStrategy nor type
> conversion possible: No type converter available to convert from type:
> de.edigrid.maspero.FtpChangedLockStrategy to the required type:
> org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy with
> value de.edigrid.maspero.FtpChangedLockStrategy@38a10fbf
> at
>
> org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:341)
> at
>
> org.apache.camel.util.EndpointHelper.setReferenceProperties(EndpointHelper.java:250)
> at
>
> org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:199)
> at
>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
> at
>
> org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:36)
> at
>
> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:75)
> at
>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:430)
> ... 44 more
>
> This could be because I'm importing Camel Core via Maven in order to be
> able
> to compile my custom strategy class and Servicemix is running the Camel
> from
> another bundle so the classes are not compatible?
>
> Is there any workaround for this? I'm trying to make a Changed lock
> strategy
> for FTP component, I'll contribute it to Camel when it's done but I just
> need to run it before finishing it.
>
> Thank you for your time.
> Laurentiu Trica
>



-- 
Cheers,
Jon
---------------
FuseSource
Email: jon@fusesource.com
Web: fusesource.com
Twitter: jon_anstey
Blog: http://janstey.blogspot.com
Author of Camel in Action: http://manning.com/ibsen