Are you certain the client is sending the right topic expression? Are the 
subscriptions working and the notifications failing, or is the 
subscription failing early and then the side effect is no notifications? 
Can you send your client code for subscribing so we can eliminate that as 
a possible error?

thanks,
Dan



"Pushkar Sachdeva" <[EMAIL PROTECTED]> wrote on 07/06/2006 
10:48:26 AM:

> Thanks for your reply Balan.
> I tried a lot, still i am not able to get notification events on 
consumer
> side for *ManagementEventTopics*. Please direct me if there is any 
sample
> code showing its implementation. I already tried the *filesystem* and *
> enterprise* example that comes along with muse1.0.
> 
> In filesystem example, the code provieded for publishing via
> ManagementEventTopic is as follows:
> 
>   public void updateOperationalStatus(
> org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.
> OperationalStatusDocument.OperationalStatus.EnumnewStatus)
>     {
> org.apache.ws.notification.base.NotificationProducerResourceresource = (
> 
org.apache.ws.notification.base.NotificationProducerResource)getResource();
>         org.apache.ws.resource.properties.ResourceProperty statusProp =
> resource.getResourcePropertySet().get(
> FilesystemPropertyQNames.OPERATIONALSTATUS);
> 
> org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.
> OperationalStatusDocument.OperationalStatuscurrentStatus
> = (
> org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.
> OperationalStatusDocument.OperationalStatus)
> statusProp.get(0);
>         if (!currentStatus.enumValue().equals(newStatus))
>         {
>             org.apache.xmlbeans.XmlObject oldStatus =
> org.apache.ws.util.XmlBeanUtils.copyXmlBean(currentStatus);
>             currentStatus.set(newStatus);
> *            org.apache.ws.notification.topics.TopicSpace muwsTopicSpace 
=
> resource.getTopicSpaceSet().getTopicSpace(
> org.apache.ws.muws.v1_0.MuwsConstants.NSURI_MUWS_PART2_TOPICS);
> 
> 
org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImplstatusTopic
> = (
> org.apache.ws.muws.v1_0.topics.impl.XmlBeansManagementEventTopicImpl)
> muwsTopicSpace.getTopic(
> 
org.apache.ws.muws.v1_0.capability.OperationalStatusCapability.TOPIC_NAME);
> 
> 
org.apache.ws.resource.properties.ResourcePropertyValueChangeEventstatusChangeEvent
> = new
> org.apache.ws.resource.properties.v2004_06.impl.
> XmlBeansResourcePropertyValueChangeEvent(new
> Object[]{oldStatus}, new Object[]{currentStatus});
>             statusTopic.propertyChanged(statusChangeEvent);  // publish 
the
> event
> *        }
>         return;
>     }
> 
> 
> But the consumer subscribed for OperationalStatusCapability is not 
getting
> notifications i.e  the notify method on consumer is not getting invoked.
> 
> So i tried using the ReqourcePropertyValueChangeTopic and made the 
following
> changes.
> 
> 
>     public void updateOperationalStatus(
> org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.
> OperationalStatusDocument.OperationalStatus.EnumnewStatus)
>     {
>      System.out.println("UPDATING OPERATIONAL STATUS");
> org.apache.ws.notification.base.NotificationProducerResourceresource = (
> 
org.apache.ws.notification.base.NotificationProducerResource)getResource();
>         org.apache.ws.resource.properties.ResourceProperty statusProp =
> ((FilesystemResource)getResource()).getResourcePropertySet().get(
> FilesystemPropertyQNames.OPERATIONALSTATUS);
> 
> org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.
> OperationalStatusDocument.OperationalStatuscurrentStatus
> = (
> org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.
> OperationalStatusDocument.OperationalStatus)
> statusProp.get(0);
>         if (!currentStatus.enumValue().equals(newStatus))
>         {
>             org.apache.xmlbeans.XmlObject oldStatus =
> org.apache.ws.util.XmlBeanUtils.copyXmlBean(currentStatus);
>             currentStatus.set(newStatus);
> 
>  *           org.apache.ws.notification.topics.TopicSpace muwsTopicSpace 
=
> resource.getTopicSpaceSet().getTopicSpace(statusProp.getMetaData
> ().getName().getNamespaceURI());
> 
> 
org.apache.ws.notification.topics.ResourcePropertyValueChangeTopicvalueChangeTopic=(
> org.apache.ws.notification.topics.ResourcePropertyValueChangeTopic
> )muwsTopicSpace.getTopic("OperationalStatus");
> 
> 
org.apache.ws.resource.properties.ResourcePropertyValueChangeEventstatusChangeEvent
> = new
> org.apache.ws.resource.properties.v2004_06.impl.
> XmlBeansResourcePropertyValueChangeEvent(new
> Object[]{oldStatus}, new Object[]{currentStatus});
> 
>             valueChangeTopic.propertyChanged(statusChangeEvent);  // 
publish
> the event
> *        }
> 
>         return;
>     }
> 
> It worked. The consumer subscribing for OperationalStatus Topic is able 
to
> get the notification events. But I think it may not be the clean way to 
do
> things, how can I make use of MUWS defined Management Event 
CapabilityTopics
> for acheiving this??
> 
> Please help.. I appreciate your help in this matter.
> 
> 
> 
> 
> 
> 
> On 6/28/06, Balan Subramanian <[EMAIL PROTECTED]> wrote:
> >
> > Hi Pushkar,
> > I hope I understood your question properly.....
> > The ResourcePropertyValueChangeTopic is used to publish notifications
> > about property changes among the resource properties defined for that
> > resource. Each notification carries the new value of the property and 
may
> > carry the old value of the property as well. This is particularly 
useful
> > in monitoring scenarios. These events are described in the WS-RP
> > specifications.
> >
> > The ManagementEventTopic is used to publish notifications of WSDM 
events
> > in the WSDM Event Format. The format is specificed in the muws-1 spec.
> > Typically these would be events that are generated by the resource 
other
> > than property change notifications for example, a heart beat sent by a
> > resource.
> >
> > I am not sure why you cannot get the ManagementEvents in the notify 
method
> > if you are subscribed to the topic properly. I'll try out some samples
> > today but maybe someone has an answer to that already.
> >
> > Thanks,
> > Balan
> >
> > Balan Subramanian
> > Autonomic Computing, IBM, RTP, NC
> > 919.543.0197 | [EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> > "Pushkar Sachdeva" <[EMAIL PROTECTED]>
> > 06/28/2006 09:50 AM
> > Please respond to
> > [email protected]
> >
> >
> > To
> > [email protected]
> > cc
> >
> > Subject
> > Help regarding muse notifications
> >
> >
> >
> >
> >
> >
> > I am new to using notifications in muse. I have the following 
queries:-
> >
> > 1) What is the difference between *ResourcePropertyValueChangeTopic* 
and *
> > ManagementEventTopic* ??
> >
> > 2) If in the Notification Producer,
> > *ResourcePropertyValueChangeTopic*sends
> > *ResourcePropertyValueChangeEvent* then that notification can be 
obtained
> > in
> > the notify function of Notification Consumer, but on the other hand If 
*
> > ManagementEventTopic* sends the *ResourcePropertyValueChangeEvent* 
then
> > the
> > notification is not automatically received in the notify function of 
the
> > Notification Consumer. However, in the latter case, Consumer can 
obtain
> > the
> > notification sent through *getCurrentMessage* request. How can i 
obtain
> > this
> > notification triggered by  *ManagementEventTopic* automatically 
without
> > actually sending the request(the same way I obtained through *
> > ResourcePropertyValueChangeTopic*) ??
> >
> > Please help me answer these questions or atleast direct me from where 
I
> > could clear my doubts.
> >
> > Thanks a lot in advance.
> >
> > -Regards
> > Pushkar
> >
> >
> >


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to