Java/EJB3/Message Bean
Содержание
EJB Tutorial from JBoss: Consumer producer
<source lang="java">
File: ExampleProducer.java /*
* JBoss, Home of Professional Open Source. * Copyright 2006, Red Hat Middleware LLC, and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */
package org.jboss.tutorial.consumer.bean; import org.jboss.annotation.ejb.MessageProperties; import org.jboss.annotation.ejb.DeliveryMode; import org.jboss.annotation.ejb.DeliveryMode; import org.jboss.annotation.ejb.MessageProperties; import java.util.Map; /**
* comment * * @author
EJB Tutorial from JBoss: demo for message driven bean
<source lang="java">
File: ExampleMDB.java /*
* JBoss, Home of Professional Open Source. * Copyright 2006, Red Hat Middleware LLC, and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */
package org.jboss.tutorial.mdb.bean; import javax.ejb.MessageDriven; import javax.ejb.ActivationConfigProperty; import javax.jms.Message; import javax.jms.MessageListener; @MessageDriven(activationConfig =
{ @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination", propertyValue="queue/tutorial/example") })
public class ExampleMDB implements MessageListener {
public void onMessage(Message recvMsg) { System.out.println("----------------"); System.out.println("Received message"); System.out.println("----------------"); }
}
File: Client.java /*
* JBoss, Home of Professional Open Source. * Copyright 2006, Red Hat Middleware LLC, and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */
package org.jboss.tutorial.mdb.client; import javax.jms.Queue; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueSender; import javax.jms.QueueSession; import javax.jms.TextMessage; import javax.naming.InitialContext; public class Client {
public static void main(String[] args) throws Exception { QueueConnection cnn = null; QueueSender sender = null; QueueSession session = null; InitialContext ctx = new InitialContext(); Queue queue = (Queue) ctx.lookup("queue/tutorial/example"); QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory"); cnn = factory.createQueueConnection(); session = cnn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE); TextMessage msg = session.createTextMessage("Hello World"); sender = session.createSender(queue); sender.send(msg); System.out.println("Message sent successfully to remote queue."); }
}
</source>
EJB Tutorial from JBoss: Message driven bean
<source lang="java">
File: DependedOnMBean.java /*
* JBoss, Home of Professional Open Source. * Copyright 2006, Red Hat Middleware LLC, and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */
package org.jboss.tutorial.dependency.bean; import org.jboss.system.ServiceMBean; /**
* Comment * * @author
EJB Tutorial from JBoss: message driven bean deployment descriptor
<source lang="java">
File: ejb-jar.xml <?xml version="1.0" encoding="UTF-8"?> <ejb-jar
xmlns="http://java.sun.ru/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.ru/xml/ns/javaee http://java.sun.ru/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0"> <description>JBoss Message Driven Bean Tutorial</description> <display-name>JBoss Message Driven Bean Tutorial</display-name> <enterprise-beans> <message-driven> <ejb-name>ExampleMDB</ejb-name> <ejb-class>org.jboss.tutorial.mdb_deployment_descriptor.bean.ExampleMDB</ejb-class> <transaction-type>Bean</transaction-type> <message-destination-type>javax.jms.Queue</message-destination-type> <activation-config> <activation-config-property> <activation-config-property-name>acknowledgeMode</activation-config-property-name> <activation-config-property-value>AUTO_ACKNOWLEDGE</activation-config-property-value> </activation-config-property> </activation-config> </message-driven> </enterprise-beans>
</ejb-jar>
File: jboss.xml <?xml version="1.0" encoding="utf-8"?> <jboss
xmlns="http://java.sun.ru/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.ru/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_5_0.xsd" version="3.0"> <enterprise-beans> <message-driven> <ejb-name>ExampleMDB</ejb-name> <destination-jndi-name>queue/tutorial/example</destination-jndi-name> </message-driven> </enterprise-beans>
</jboss>
</source>