Thanks for the quick response! Here are the sources (I had to 'censor' it for 
obvious reasons):

MDB:
@MessageDriven(name = "Processor", activationConfig = {
  |             @ActivationConfigProperty(propertyName = "destinationType", 
propertyValue = "javax.jms.Queue"),
  |             @ActivationConfigProperty(propertyName = "destination", 
propertyValue = "myqueue"),
  |             @ActivationConfigProperty(propertyName = "providerAdapterJNDI", 
propertyValue="java:/TIBCOJMSProvider")
  | })
  | public class Receiver implements MessageListener {
  |     
  |     @Resource
  |     private MessageDrivenContext context;
  |     
  |     /**
  |      * Controller does the actual processing 
  |      * of the incoming message
  |      */
  |     @EJB
  |     private Creator creator;
  |     
  |     /**
  |      * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
  |      */
  |     public void onMessage(Message msg) {
  |             try {
  |                     TextMessage txtMsg = (TextMessage)msg;
  |                     String text = txtMsg.getText();
  |                     creator.process(text);
  |             } catch (JMSException e) {
  |                     e.printStackTrace();
  |                     context.setRollbackOnly();
  |             } catch (ValidationException e) {
  |                     e.printStackTrace();
  |                     context.setRollbackOnly();
  |             }
  |     }
  | 
  |     /**
  |      * @param creator the controller to set
  |      */
  |     public void setCreator(Creator creator) {
  |             this.creator = creator;
  |     }
  | 
  |     /**
  |      * @param context the context to set
  |      */
  |     public void setContext(MessageDrivenContext context) {
  |             this.context = context;
  |     }
  | 
  | }
  | 

SLSB Local interface:

  | @Local
  | public interface Creator {
  | 
  |     /**
  |      * Processed an incoming message bus from a message bus
  |      * and stores it in database.
  |      *  
  |      * @param text
  |      * @throws ValidationException
  |      * @return an instance of saved entity
  |      */
  |     public Entiteit process(String text) throws ValidationException;
  | 
  |     /**
  |      * Sets entity manager
  |      * @param em
  |      */
  |     public void setDatabase(EntityManager em);
  | 
  |     /**
  |      * Retrieves entity manager
  |      * @return entity manager instance
  |      */
  |     public EntityManager getDatabase();
  | 
  | }


SLSB itself:

  | /**
  |  * Processes entities
  |  * 
  |  */
  | @Stateless
  | @Name("Creator")
  | public class CreatorBean implements Creator {
  | 
  |     private EntityManager em;
  | 
  |     /**
  |      * Sets entity manager
  |      * @param em
  |      */
  |     @PersistenceContext
  |     public void setDatabase(EntityManager em){
  |             this.em = em;
  |     }
  |     
  |     /**
  |      * Retrieves entity manager
  |      * @return entity manager instance
  |      */
  |     public EntityManager getDatabase() {
  |             return this.em;
  |     }
  |     
  |     /**
  |      * Processes the entities from xml and stores it in database.
  |      * It also performs checking on existing records end replaces them if 
found.
  |      * @throws ValidationException 
  |      */
  |     public Entiteit process(String xmlText) throws ValidationException {
  |             Entiteit en = null;
  |             
  |             try {
  |                     IBindingFactory bfact = 
BindingDirectory.getFactory(Entiteit.class);
  |                     IUnmarshallingContext uctx = 
bfact.createUnmarshallingContext();
  |                     
  |                     StringReader sr = new StringReader(xmlText);
  |                     
  |                     en = (Entiteit) uctx.unmarshalDocument( sr, null);
  |                     
  |                     em.persist(en);
  |                     
  |                     
  |             } catch (JiBXException e) {
  |                     throw new ValidationException("Error processing 
incoming entity", e);
  |             }
  |             
  |             return en;
  |     }
  | 
  | }
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4105970#4105970

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4105970
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to