Hi,JB...

Thanks for you quick reply.. :)

I have understood the listener part and also sending message through quartz.

But, still i am looking for following -
1. How can  i create a SenderBean (just like ListenerBean) that will be used
to send message? 
2. How to configure it in xbean.xml that will send message to ListenerBean?
3. When i deploy SenderBean project over servicemix, when will it send
message? or i have to explicitly trigger it to send message?

Please reply..


Thanks,
Sanket



Jean-Baptiste Onofré wrote:
> 
> Hi Sanky,
> 
> If you need to create the POJO, you can use the servicemix-bean 
> component. If you have existing POJO, you can expose it using the 
> servicemix-cxf-se component.
> 
> For example, you can create a service that use a POJO method like this :
> 
> import org.apache.servicemix.jbi.listener.MessageExchangeListener;
> import org.apache.servicemix.jbi.util.MessageUtil;
> import org.apache.servicemix.jbi.jaxp.SourceTransformer;
> 
> import javax.annotation.Resource;
> import javax.jbi.messaging.DeliveryChannel;
> import javax.jbi.messaging.ExchangeStatus;
> import javax.jbi.messaging.MessageExchange;
> import javax.jbi.messaging.MessagingException;
> import javax.jbi.messaging.NormalizedMessage;
> import javax.xml.transform.Source;
> 
> public class ListenerBean implements MessageExchangeListener {
> 
>      @Resource
>      private DeliveryChannel channel;
> 
>      public void onMessageExchange(MessageExchange exchange) throws 
> MessagingException {
>          if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
>                          NormalizedMessage message = 
> exchange.getMessage("in");
>                       Source content = message.getContent();
>                       //process content according to your logic
>                       //e.g. to access the message body as a String use
>                       String body = (new 
> SourceTransformer()).toString(content);
>                       body = MyPOJO.transform(body);
>                       message.setContent(new StringSource(body));
>                       exchange.setMessage(message, "out");
>                       channel.send(exchange);
>          }
>      }
> 
> }
> 
> This POJO is the listener one: it receives a message, extracts the 
> content and send out (if the MEP InOut is used).
> 
> You can deploy it with the following xbean.xml:
> <bean:endpoint service="MyService" endpoint="listener" bean="#myBean"/>
> <bean id="myBean" class="com.my.package.Bean"/>
> 
> For the poller, you can use servicemix-quartz component to call a bean 
> that trigger the message sending. You can define your own 
> servicemix-quartz marshaler to define the message content. After you 
> deploy it using a xbean.xml like this:
> 
> <quartz:endpoint service="MyService endpoint="provider" 
> targetService="MyService" endpoint="listener">
>    <quartz:jobDetail>
>      <quartz:jobDetail>
>        <quartz:jobDataAsMap>
>          <quartz:property key="xml"><![CDATA[
>            <hello>world</hello>
>          ]]></quartz:property>
>        </quartz:jobDataAsMap>
>      </quartz:jobDetail>
>    </quartz:jobDetail>
>    <quartz:triggers>
>      <quartz:simple repeatCount="0" repeatInterval="1000" />
>      <quartz:cron cronExpression="0 * 1 * * ?" />
>    </quartz:triggers>
>    <quartz:marshaler>
>      <bean class="org.apache.servicemix.quartz.CustomMarshaler" />
>    </quartz:marshaler>
> </quartz:endpoint>
> 
> Regards
> JB
> 
> 
> sanky wrote:
>> Hi,All...
>> 
>> I want to exchange message from one POJO(sender) to another(receiver).
>> I am looking for-
>> 1. how to configure POJO's for this,  may be in the form of xbean.xml..
>>    Any example on this will be useful..
>>    I have also gone through the link--
>> http://servicemix.apache.org/pojo-support.html
>>    But dont understand everything. Please help..
>> 
>> 2. Also help me to understand how sender will be triggered to send
>> message
>> once sender and receiver service assemblies (SA) are deployed
>> 
>> 
>> Thanks,
>> Sanket
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Message-Exchange-between-two-POJO%27s-tp23560535p23570615.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.

Reply via email to