Hi Guillaume,
I missed that the XBean mapping of element component for
servicemix-wsn2005 maps to WSNSpringComponent and not to WSNComponent.
The former does not provide a #createServiceUnitManager implementation;
accordingly, null is returned. (Btw: I added a page on remote debugging
to the Wiki -
http://cwiki.apache.org/confluence/display/SM/Remote-debugging+ServiceMi
x+in+Eclipse)
Hence, I switched to installing components instead of static
configuration. Sm-shared works fine. However, with sm-wsn, what I get
now is an error that the component cannot be started - probably from
within AutoDeploymentService #updateArchive ("Error calling init",
"scheme java not recognized", see below**)).
Before I dig in deep, any ideas about what this could be related to?
In the end, I switched to changing the servicemix.xml config to include
both sm-shared and sm-wsn libraries and a Spring configuration using
WSNComponent instead of WSNSpringComponent*).
Another question: does sm-wsn accept publisher service units? That is,
can I create a publisher via a deployment?
Thanks in advance,
Ciao, Philipp
*)
>>
...
<sm:activationSpec componentName="servicemix-wsn2005">
<sm:component>
<bean
class="org.apache.servicemix.wsn.component.WSNComponent">
<property name="connectionFactory"
ref="connectionFactory" />
</bean>
</sm:component>
</sm:activationSpec>
...
<<
**)
>>
16:08:21,750 | INFO | Timer-0 | AutoDeploymentService |
ramework.AutoDeploymentService 643 | Directory: install: Archive
changed: processing servicemix-shared-3.1-incubating-installer.zip ...
16:08:22,250 | INFO | Timer-0 | AutoDeploymentService |
ramework.AutoDeploymentService 646 | Directory: install: Finished
installation of archive: servicemix-shared-3.1-incubating-installer.zip
16:08:30,744 | INFO | Timer-0 | AutoDeploymentService |
ramework.AutoDeploymentService 643 | Directory: install: Archive
changed: processing servicemix-wsn2005-3.1-incubating-installer.zip ...
16:08:32,308 | INFO | Timer-0 | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 214 | Starting component:
servicemix-wsn2005
16:08:32,308 | INFO | Timer-0 | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 191 | Initializing component:
servicemix-wsn2005
16:08:32,324 | ERROR | Timer-0 | ComponentMBeanImpl |
i.framework.ComponentMBeanImpl 220 | Could not start component
javax.jbi.JBIException: Error calling init
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:149)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(ComponentMBe
anImpl.java:201)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(Component
MBeanImpl.java:287)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(ComponentMB
eanImpl.java:216)
at
org.apache.servicemix.jbi.framework.InstallationService.install(Installa
tionService.java:331)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:276)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:645)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$200(Aut
oDeploymentService.java:62)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:605)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: javax.naming.NamingException: scheme java not recognized
at
org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:1
31)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.lookupConnectionFactory
(WSNLifeCycle.java:117)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.doInit(WSNLifeCycle.jav
a:63)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:142)
... 10 more
16:08:32,324 | ERROR | Timer-0 | InstallationService |
.framework.InstallationService 337 | Failed to start Component:
servicemix-wsn2005
javax.jbi.JBIException: Error calling init
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:149)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(ComponentMBe
anImpl.java:201)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(Component
MBeanImpl.java:287)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(ComponentMB
eanImpl.java:216)
at
org.apache.servicemix.jbi.framework.InstallationService.install(Installa
tionService.java:331)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:276)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:645)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$200(Aut
oDeploymentService.java:62)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:605)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: javax.naming.NamingException: scheme java not recognized
at
org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:1
31)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.lookupConnectionFactory
(WSNLifeCycle.java:117)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.doInit(WSNLifeCycle.jav
a:63)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:142)
... 10 more
16:08:32,371 | ERROR | Timer-0 | AutoDeploymentService |
ramework.AutoDeploymentService 286 | Failed to update Component:
servicemix-wsn2005
javax.jbi.management.DeploymentException: javax.jbi.JBIException: Error
calling init
at
org.apache.servicemix.jbi.framework.InstallationService.install(Installa
tionService.java:338)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:276)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:645)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$200(Aut
oDeploymentService.java:62)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:605)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: javax.jbi.JBIException: Error calling init
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:149)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(ComponentMBe
anImpl.java:201)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(Component
MBeanImpl.java:287)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(ComponentMB
eanImpl.java:216)
at
org.apache.servicemix.jbi.framework.InstallationService.install(Installa
tionService.java:331)
... 6 more
Caused by: javax.naming.NamingException: scheme java not recognized
at
org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:1
31)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.lookupConnectionFactory
(WSNLifeCycle.java:117)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.doInit(WSNLifeCycle.jav
a:63)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:142)
... 10 more
16:08:32,371 | WARN | Timer-0 | AutoDeploymentService |
ramework.AutoDeploymentService 649 | Directory: install: Automatic
install of
C:\Oy\SM\ws-notification\instance1\install\servicemix-wsn2005-3.1-incuba
ting-installer.zip failed
javax.jbi.management.DeploymentException: Failed to update Component:
servicemix-wsn2005
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:287)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:645)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$200(Aut
oDeploymentService.java:62)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:605)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: javax.jbi.management.DeploymentException:
javax.jbi.JBIException: Error calling init
at
org.apache.servicemix.jbi.framework.InstallationService.install(Installa
tionService.java:338)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:276)
... 5 more
Caused by: javax.jbi.JBIException: Error calling init
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:149)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(ComponentMBe
anImpl.java:201)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(Component
MBeanImpl.java:287)
at
org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(ComponentMB
eanImpl.java:216)
at
org.apache.servicemix.jbi.framework.InstallationService.install(Installa
tionService.java:331)
... 6 more
Caused by: javax.naming.NamingException: scheme java not recognized
at
org.apache.xbean.spring.jndi.DefaultContext.lookup(DefaultContext.java:1
31)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.lookupConnectionFactory
(WSNLifeCycle.java:117)
at
org.apache.servicemix.wsn.component.WSNLifeCycle.doInit(WSNLifeCycle.jav
a:63)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCycle.
java:142)
... 10 more
<<
> -----Mensaje original-----
> De: Guillaume Nodet [mailto:[EMAIL PROTECTED]
> Enviado el: jueves, 22 de marzo de 2007 18:03
> Para: [email protected]
> Asunto: Re: how-to implement runtime notifications based on
> MessageExchange content
> Importancia: Baja
>
> Well, I've just looked at the code, and I have absolutely no idea how
> such a problem can happen.
> The deployment code is in
> o.a.s.framework.DeploymentService#deployServiceAssembly
> and this error is only thrown when the component returns a null
> ServiceUnitManager,
> which is not possible for the wsn2005 :-(
> I guess you will have to remote debug ...
>
> On 3/22/07, Rossmanith, Philipp <[EMAIL PROTECTED]>
wrote:
> >
> >
> > Hi,
> >
> > I'm currently attempting to deploy a "Subscribe" service unit to a
> > servicemix-wsn2005 component (SM version: 3.1-incubating).
> >
> > I generate the SU with Maven tooling and then create "... one ...
(file)
> > with an xml extension, ... containing a single WS-Notification
request.
> > The currently supported set of requests include:
> > * Subscribe"
> > (see
> >
http://incubator.apache.org/servicemix/servicemix-wsn2005.html#servicemi
> > x-wsn2005-CreatePullPoint)
> >
> > However, when I deploy the SU, I get an error*), telling me that
> > servicemix-wsn2005 does not accept deployments. I also provide the
> > contents of my xml-file**) and my servicemix.xml component
> > configuration***). Please note that the same subscription - done via
> > static, servicemix.xml configuration - is working fine.
> >
> > Any ideas of what is going wrong? Does the naming of the XML file
> > containing the Subscribe request matter?
> >
> > Thanks in advance,
> > Ciao, Philipp
> >
> > *)
> > >>
> > <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"
> > version="1.0">
> > <jbi-task-result>
> > <frmwk-task-result>
> > <frmwk-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>Target component servicemix-wsn2005 for service unit
> > subscriber-nypdTopic-instance1-su does not accept
> > deployments</loc-message>
> > </msg-loc-info>
> > </task-status-msg>
> > </task-result-details>
> > </frmwk-task-result-details>
> > </frmwk-task-result>
> > </jbi-task-result>
> > </jbi-task>
> > <<
> >
> > **) file nypdTopic-subscription.xml
> > >>
> > <?xml version="1.0" encoding="UTF-8"?>
> > <wsnt:Subscribe
> > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
> > xmlns:wsa="http://www.w3.org/2005/08/addressing">
> > <wsnt:ConsumerReference>
> > <wsa:Address>
> > http://t-systems.es/test/inst1Trace/inst1TraceEndpoint
> > </wsa:Address>
> > </wsnt:ConsumerReference>
> > <wsnt:Filter>
> > <wsnt:TopicExpression
> > Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">
> > myTopic
> > </wsnt:TopicExpression>
> > </wsnt:Filter>
> > </wsnt:Subscribe>
> > <<
> >
> > ***) servicemix.xml excerpt
> > >>
> > ...
> > <!-- WS-Notification component -->
> > <sm:activationSpec
> > componentName="servicemix-wsn2005">
> > <sm:component>
> > <wsn:component
> >
> > connectionFactory="#connectionFactory">
> > <!-- working:
> >
<wsn:requests>
> >
<wsn:subscribe
> >
> > consumer="http://t-systems.es/test/inst1Trace/inst1TraceEndpoint"
> >
topic="myTopic"
> > />
> >
</wsn:requests>
> > -->
> > </wsn:component>
> > </sm:component>
> > </sm:activationSpec>
> > ...
> > <<
> >
> > > -----Mensaje original-----
> > > De: Rossmanith, Philipp
> > > Enviado el: jueves, 15 de marzo de 2007 18:38
> > > Para: [email protected]
> > > Asunto: how-to implement runtime notifications based on
> > MessageExchange
> > > content
> > > Importancia: Baja
> > >
> > >
> > > Hi,
> > >
> > > We have a project where we want to enable on-demand notifications
> > about
> > > messages being sent in the bus.
> > >
> > >
> > > The idea is that a subscribing component/subscriber (possibly
outside
> > > the bus) provides a specification/subscription of what he is
looking
> > for
> > > through a call to a provider service/notification broker; the
> > > notification broker monitors the messages passing the bus, checks
if
> > > they match the subscription and - given that the subscriber avails
of
> > > the proper permissions - forwards the message to the subscriber.
> > >
> > > What would be the best way to implement this pattern?
> > >
> > > So far, I am considering 2 alternatives:
> > > - Changing org.apache.servicemix.jbi.nmr.SubscriptionManager and
> > > org.apache.servicemix.jbi.framework.SubscriptionRegistry to allow
for
> > > content-based subscriptions
> > > - Using servicemix-wsn2005; however, I understand that this would
> > > require the messages to be sent to a defined topic rather than
based
> > on
> > > message characteristics
> > >
> > > Any comments/thoughts on this would be welcome.
> > >
> > > Thanks in advance,
> > > Ciao,
> > > Philipp
> >
> > This e-mail may contain confidential or privileged information. Any
> > unauthorised
> > copying, use or distribution of this information is strictly
prohibited.
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Architect, LogicBlaze (http://www.logicblaze.com/)
> Blog: http://gnodet.blogspot.com/
This e-mail may contain confidential or privileged information. Any unauthorised
copying, use or distribution of this information is strictly prohibited.