You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Rossmanith, Philipp" <ph...@t-systems.es> on 2007/03/22 17:53:32 UTC

RE: how-to implement runtime notifications based on MessageExchange content

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: servicemix-users@geronimo.apache.org
> 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.

RE: how-to implement runtime notifications based on MessageExchange content

Posted by "Rossmanith, Philipp" <ph...@t-systems.es>.
> By default, the WSNotification component looks up a JMS
ConnectionFactory
> at "java:comp/env/jms/wsnotificationCF", which should be  already
> configured
> in the standard distribution. 
... which is done in conf/jndi.xml.

> How did you deploy this component ?
I developed a servicemix.xml based on the ws-notification example, which
I modified to allow component installations ("embedded=false,
installationDirPath=...").

This example does specify a jndi-bean, but it doesn't add the entries as
is done in jndi.xml. Rather than that, the connection factories are set
directly on the component.

I tried deploying the component in the default installation directory,
and it works.

Thanks for your help!

Have a nice weekend,
Ciao,
Philipp

> -----Mensaje original-----
> De: Guillaume Nodet [mailto:gnodet@gmail.com]
> Enviado el: viernes, 23 de marzo de 2007 17:05
> Para: servicemix-users@geronimo.apache.org
> Asunto: Re: how-to implement runtime notifications based on
> MessageExchange content
> Importancia: Baja
>
> On 3/23/07, Rossmanith, Philipp <ph...@t-systems.es>
wrote:
> >
> >
> > > Yes. This error is thrown when the JNDI resource for the JMS
> > connection
> > > factory
> > > can not be found at the specified location (I guess we could throw
a
> > more
> > > meaninful
> > > error )
> > I haven't yet looked into JMS (connection factory settings) too much
> > yet. What's the best way to configure that location?
>
>
> By default, the WSNotification component looks up a JMS
ConnectionFactory
> at "java:comp/env/jms/wsnotificationCF", which should be  already
> configured
> in the standard distribution.  How did you deploy this component ?
>
> > AFAIK no.  You can use the lightweight publisher component which is
> > > quite handy, or implement this feature.
> > > However, keep in mind that currently, non-anonymous publishers are
not
> > > really supported.
> > Good to know.
> >
> > Thanks for the quick answer.
> >
> > Ciao,
> > Philipp
> >
> > > -----Mensaje original-----
> > > De: Guillaume Nodet [mailto:gnodet@gmail.com]
> > > Enviado el: viernes, 23 de marzo de 2007 16:38
> > > Para: servicemix-users@geronimo.apache.org
> > > Asunto: Re: how-to implement runtime notifications based on
> > > MessageExchange content
> > > Importancia: Baja
> > >
> > > On 3/23/07, Rossmanith, Philipp <ph...@t-systems.es>
> > wrote:
> > > >
> > > >
> > > > 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)
> > >
> > >
> > >
> > > Nice, thx a lot !
> > >
> > > 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?
> > >
> > >
> > > Yes. This error is thrown when the JNDI resource for the JMS
> > connection
> > > factory
> > > can not be found at the specified location (I guess we could throw
a
> > more
> > > meaninful
> > > error ).
> > >
> > > 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?
> > >
> > >
> > > AFAIK no.  You can use the lightweight publisher component which
is
> > > quite handy, or implement this feature.
> > > However, keep in mind that currently, non-anonymous publishers are
not
> > > really supported.
> > >
> > > 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:gnodet@gmail.com]
> > > > > Enviado el: jueves, 22 de marzo de 2007 18:03
> > > > > Para: servicemix-users@geronimo.apache.org
> > > > > 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
<ph...@t-systems.es>
> > > > 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: servicemix-users@geronimo.apache.org
> > > > > > > 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.
> > > >
> > >
> > >
> > >
> > > --
> > > 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.
> >
>
>
>
> --
> 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.

Re: how-to implement runtime notifications based on MessageExchange content

Posted by Guillaume Nodet <gn...@gmail.com>.
On 3/23/07, Rossmanith, Philipp <ph...@t-systems.es> wrote:
>
>
> > Yes. This error is thrown when the JNDI resource for the JMS
> connection
> > factory
> > can not be found at the specified location (I guess we could throw a
> more
> > meaninful
> > error )
> I haven't yet looked into JMS (connection factory settings) too much
> yet. What's the best way to configure that location?


By default, the WSNotification component looks up a JMS ConnectionFactory
at "java:comp/env/jms/wsnotificationCF", which should be  already configured
in the standard distribution.  How did you deploy this component ?

> AFAIK no.  You can use the lightweight publisher component which is
> > quite handy, or implement this feature.
> > However, keep in mind that currently, non-anonymous publishers are not
> > really supported.
> Good to know.
>
> Thanks for the quick answer.
>
> Ciao,
> Philipp
>
> > -----Mensaje original-----
> > De: Guillaume Nodet [mailto:gnodet@gmail.com]
> > Enviado el: viernes, 23 de marzo de 2007 16:38
> > Para: servicemix-users@geronimo.apache.org
> > Asunto: Re: how-to implement runtime notifications based on
> > MessageExchange content
> > Importancia: Baja
> >
> > On 3/23/07, Rossmanith, Philipp <ph...@t-systems.es>
> wrote:
> > >
> > >
> > > 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)
> >
> >
> >
> > Nice, thx a lot !
> >
> > 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?
> >
> >
> > Yes. This error is thrown when the JNDI resource for the JMS
> connection
> > factory
> > can not be found at the specified location (I guess we could throw a
> more
> > meaninful
> > error ).
> >
> > 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?
> >
> >
> > AFAIK no.  You can use the lightweight publisher component which is
> > quite handy, or implement this feature.
> > However, keep in mind that currently, non-anonymous publishers are not
> > really supported.
> >
> > 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:gnodet@gmail.com]
> > > > Enviado el: jueves, 22 de marzo de 2007 18:03
> > > > Para: servicemix-users@geronimo.apache.org
> > > > 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 <ph...@t-systems.es>
> > > 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: servicemix-users@geronimo.apache.org
> > > > > > 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.
> > >
> >
> >
> >
> > --
> > 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.
>



-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

RE: how-to implement runtime notifications based on MessageExchange content

Posted by "Rossmanith, Philipp" <ph...@t-systems.es>.
> Yes. This error is thrown when the JNDI resource for the JMS
connection
> factory
> can not be found at the specified location (I guess we could throw a
more
> meaninful
> error )
I haven't yet looked into JMS (connection factory settings) too much
yet. What's the best way to configure that location?


> AFAIK no.  You can use the lightweight publisher component which is
> quite handy, or implement this feature.
> However, keep in mind that currently, non-anonymous publishers are not
> really supported.
Good to know.

Thanks for the quick answer.

Ciao,
Philipp

> -----Mensaje original-----
> De: Guillaume Nodet [mailto:gnodet@gmail.com]
> Enviado el: viernes, 23 de marzo de 2007 16:38
> Para: servicemix-users@geronimo.apache.org
> Asunto: Re: how-to implement runtime notifications based on
> MessageExchange content
> Importancia: Baja
>
> On 3/23/07, Rossmanith, Philipp <ph...@t-systems.es>
wrote:
> >
> >
> > 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)
>
>
>
> Nice, thx a lot !
>
> 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?
>
>
> Yes. This error is thrown when the JNDI resource for the JMS
connection
> factory
> can not be found at the specified location (I guess we could throw a
more
> meaninful
> error ).
>
> 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?
>
>
> AFAIK no.  You can use the lightweight publisher component which is
> quite handy, or implement this feature.
> However, keep in mind that currently, non-anonymous publishers are not
> really supported.
>
> 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:gnodet@gmail.com]
> > > Enviado el: jueves, 22 de marzo de 2007 18:03
> > > Para: servicemix-users@geronimo.apache.org
> > > 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 <ph...@t-systems.es>
> > 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: servicemix-users@geronimo.apache.org
> > > > > 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.
> >
>
>
>
> --
> 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.

Re: how-to implement runtime notifications based on MessageExchange content

Posted by Guillaume Nodet <gn...@gmail.com>.
On 3/23/07, Rossmanith, Philipp <ph...@t-systems.es> wrote:
>
>
> 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)



Nice, thx a lot !

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?


Yes. This error is thrown when the JNDI resource for the JMS connection
factory
can not be found at the specified location (I guess we could throw a more
meaninful
error ).

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?


AFAIK no.  You can use the lightweight publisher component which is
quite handy, or implement this feature.
However, keep in mind that currently, non-anonymous publishers are not
really supported.

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:gnodet@gmail.com]
> > Enviado el: jueves, 22 de marzo de 2007 18:03
> > Para: servicemix-users@geronimo.apache.org
> > 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 <ph...@t-systems.es>
> 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: servicemix-users@geronimo.apache.org
> > > > 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.
>



-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

RE: how-to implement runtime notifications based on MessageExchange content

Posted by "Rossmanith, Philipp" <ph...@t-systems.es>.
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:gnodet@gmail.com]
> Enviado el: jueves, 22 de marzo de 2007 18:03
> Para: servicemix-users@geronimo.apache.org
> 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 <ph...@t-systems.es>
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: servicemix-users@geronimo.apache.org
> > > 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.

Re: how-to implement runtime notifications based on MessageExchange content

Posted by Guillaume Nodet <gn...@gmail.com>.
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 <ph...@t-systems.es> 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: servicemix-users@geronimo.apache.org
> > 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/