THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.servicemix.pojo.engine.examples; import java.io.File; import javax.jbi.JBIException; import javax.jbi.component.ComponentContext; import javax.jbi.messaging.DeliveryChannel; import javax.jbi.messaging.InOnly; import javax.resource.spi.work.WorkManager; import org.apache.servicemix.pojo.engine.ConsumerService; import org.apache.servicemix.pojo.engine.LocalComponentContext; import org.apache.servicemix.pojo.engine.LocalDeliveryChannel; import org.apache.servicemix.pojo.engine.LocalWorkingArea; import org.apache.servicemix.pojo.engine.LocalWorkmanager; import org.apache.servicemix.pojo.engine.ProviderService; import org.apache.servicemix.pojo.engine.ServiceShutdown; import org.apache.servicemix.pojo.engine.ServiceStartup; import org.apache.servicemix.pojo.engine.TargettedMessageExchange; import org.apache.servicemix.pojo.engine.TargettedMessageExchangeFactory; @Consumer public class DemoConsumerService { /** * We could inject a delivery channel */ @LocalDeliveryChannel @Resource DeliveryChannel channel; /** * The Component Context could be handy */ @LocalComponentContext @Resource ComponentContext context; /** * Nothing like a jenck workmanager for that polling */ @LocalWorkmanager @Resource WorkManager myWorkmanager; /** * The Service unit's directory is good for artifacts */ @LocalWorkingArea File myWorkspace; /** * What about getting a targetted message exchange factory By doing this we * can pulling out the consumes for the Service unit */ @TargettedMessageExchange(providerService = @ProviderService(targetNamespace = "http://www.blah.com", serviceName = "myDestinationService")) TargettedMessageExchangeFactory myTargetFactory;Â @Destination(uri="service:urn:service") private Destination service1; /** * Calls on SU init * */ @ServiceStartup@PostConstruct public void init() { try { // ... do something InOnly inOnly = myTargetFactory.createInOnlyExchange(); // .. do something with the exchange channel.send(inOnly); // ... do more } catch (JBIException exception) { } } /** * Calls on SU shutdown * */ @ServiceShutdown@PreDestroy public void destroy() { } } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.servicemix.pojo.engine.examples; import javax.jbi.messaging.DeliveryChannel; import javax.jbi.messaging.MessageExchange; import javax.xml.transform.Source; import org.apache.servicemix.pojo.engine.ExchangeProcessor; import org.apache.servicemix.pojo.engine.LocalDeliveryChannel; import org.apache.servicemix.pojo.engine.MessageExchangePattern; import org.apache.servicemix.pojo.engine.ParameterMapping; import org.apache.servicemix.pojo.engine.ProviderService; @ProviderService(targetNamespace = "http://servicemix.apache.org", serviceName = "myService") public class DemoProviderService { @ExchangeProcessor(patterns = { MessageExchangePattern.INOUT }, parameterMappings = { ParameterMapping.IN_MESSAGE_CONTENT }) public void myInOutProcessor(MessageExchange me) { // Do something here } @ExchangeProcessor(patterns = { MessageExchangePattern.INONLY, MessageExchangePattern.ROBUSTINOULY }, parameterMappings = { ParameterMapping.IN_MESSAGE_CONTENT }) public void myInOnlyProcessor(@InMessageContent Source payload) { // Do something here } } |
...