`

EJB---JMS---jBoss4

阅读更多

一、服务端开发,建立EJb工程, 创建类MesssageDMB.java

@MessageDriven(activationConfig = {
  @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
  @ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/myqueue") })
public class MesssageDMB implements MessageListener {

 public void onMessage(Message msg) {
  TextMessage textMsg = (TextMessage) msg;
  try {
   System.out.println("收到消息:" + textMsg.getText());
  } catch (JMSException e) {
   System.out.println("获取消息内容失败!");
   e.printStackTrace();
  }
 }

}

 

二、客户端开发

创建project工程,导入jboss的client的jar包。实现客户端类如下:

public class JmsClient {
 public static void main(String[] args) {
  try {
   InitialContext context = new InitialContext();

   //通过JNDI上下文获取QueueConnectionFactory
   QueueConnectionFactory factory = (QueueConnectionFactory)context.lookup("ConnectionFactory");
   System.out.println("1");
   
   //创建queueConnection
   QueueConnection connection = factory.createQueueConnection();
   System.out.println("1");
   //创建Session
   QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
   
   //创建目标队列
   Queue queue = (Queue)context.lookup("jms/myqueue");
   
   //创建文本消息
   TextMessage msg = session.createTextMessage("hello !!!!!!!!!!!!!");
   
   //创建发送者
   MessageProducer producer = (MessageProducer) session.createProducer(queue);
   
   //发送消息
   producer.send(msg);
   
   session.close();
   connection.close();
   context.close();
   producer.close();
   
  } catch (Exception e) {
   System.out.println("获取上下文失败");
   e.printStackTrace();
  }
  
 }
}

 

三.创建 jndi.properties,放在客户端工程的src下。内容如下

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

 

四、在jboss服务器中手动配置queue的jndi

在目录如D:\jboss-4.2.1.GA\server\default\deploy中,新建文件jms-service.xml (前缀可以随便写,后面一定要是 -service.xml),文件内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<server>
  <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=myqueue">
 <attribute name="JNDIName">jms/myqueue</attribute>
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  </mbean>
</server>

 

 

此实现正对JBoss4.2 验证过是能运行成功的。JBoss5.0 不能正常运行。lookup("connectionFactory") 执行不下去。没找到原因。

分享到:
评论

相关推荐

    ejb-jboss-web实例的workspace

    【ejb-jboss-web实例的workspace】是一个专用于开发和部署EJB(Enterprise JavaBeans)与Web应用程序的工作环境,基于JBoss应用服务器。这个工作空间集合了开发所需的各种组件、配置文件以及源代码,便于开发者进行...

    agent-ejb-2.1.6.jar.zip

    3. **容器兼容性**:EJB 2.1的代码需要与支持该版本的Java EE服务器(如Tomcat、WebLogic、JBoss等)一起运行。确保服务器与EJB版本兼容。 4. **测试与调试**:使用JUnit或其他测试框架对EJB进行单元测试,同时利用...

    J2EE-Ejb-Jboss

    标题:J2EE-Ejb-Jboss 描述:j2ee_jboss_ejb(English)清晰 标签:Ejb 从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出以下关键知识点: ### 一、J2EE与EJB简介 J2EE(Java 2 Platform, Enterprise ...

    jboss-jms包

    【JBoss JMS包详解】 JBoss JMS(Java Message Service)是Red Hat公司开发的JMS实现,它是JBoss Application Server的一部分,提供了一个标准、可靠且面向消息的中间件服务。在分布式环境中,JMS作为异步通信的...

    jboss-4.0.5.GA.zip

    在使用"jboss-4.0.5.GA.zip"这个压缩包时,用户需要先将其解压,然后按照官方文档或者社区教程进行配置,包括但不限于设置环境变量、配置服务器端口、部署应用程序等步骤。在开发和部署过程中,理解并掌握上述知识点...

    jboss-annotations-ejb3.jar

    【标题】"jboss-annotations-ejb3.jar" 是一个重要的Java档案,它包含了JBoss企业级JavaBean(EJB)3.0的注解支持。这个库是JBoss应用服务器的一部分,允许开发者在EJB组件中使用注解来简化配置和部署过程。 【描述...

    J2EE - JBoss - EJB with Eclipse

    《J2EE - JBoss - EJB with Eclipse》这一主题主要涵盖了Java企业版(J2EE)中的核心组件——Java服务器平台JBoss的使用,以及如何在Eclipse集成开发环境中配置和开发EJB(Enterprise JavaBeans)应用。下面将详细...

    jboss-ejb3-ext-api:EJB3的JBoss API扩展

    【标题】"jboss-ejb3-ext-api"指的是JBoss企业级JavaBean(EJB)3的扩展应用程序接口。这个API是JBoss针对EJB3规范进行的一系列增强和定制,目的是提供更丰富的功能和更好的性能,以满足企业级开发的需求。 【EJB3...

    jboss-eap-6.4.0.zip

    8. **Java 远程处理 EJB**:Enterprise JavaBeans (EJB) 是 Java EE 平台的核心部分,EAP 6.4 支持 EJB 3.1 规范,包括无状态会话 bean、有状态会话 bean、实体 bean 和消息驱动 bean 等。 9. **Web 服务支持**:...

    jboss ejb 3.zip

    标题"jboss ejb 3.zip"和描述中的"jboss ejb 3.zip"都指向同一个主题,即JBoss企业级JavaBean(EJB)3.0版本的相关内容。JBoss是Red Hat公司的一个开源应用服务器,而EJB是Java平台上用于构建可扩展、分布式、安全和...

    jboss-4.2.3.GA-jdk6的EJB服务器

    在这个版本中,部署EJB可以通过编辑部署描述符文件(如ejb-jar.xml)或者使用jboss-as-deployments目录下的jar或ear文件进行热部署。管理工具如JMX Console或命令行接口(CLI)可用于监控和管理运行时的EJB服务。 ...

    ejb3.0非常实用教程

    - 使用`jboss-deployment-structure.xml`进行高级配置。 3. **EJB打包** - 使用`ejb-jar.xml`进行配置。 - 打包成`.jar`或`.war`格式。 4. **使用第三方类库** - 将第三方库添加到项目的`lib`目录。 - 在`pom....

    EJB3.0所需jar文件(60多个)

    9. **Application Server Libraries**:具体取决于你使用的应用服务器,例如,如果你使用的是JBoss,可能包含`jboss-all-client.jar`或其他特定于服务器的库。 10. **其他辅助库**:比如日志框架(如`log4j.jar`)...

    用jbuilder7+jboss3+vss开发EJB-1

    - **JBoss版本**:本文档中使用的是`jboss-3.0.4_tomcat-4.0.6`版本。 - **SQL Server 2000与JBoss集成**:有两种主要方式实现数据库连接——ODBC-JDBC桥接和直接使用JDBC驱动。鉴于EJB开发的需求,推荐使用JDBC驱动...

    jboss-4.2.3.GA_下的jboss-4.2.3.GA_下的

    - 配置服务器的主配置文件(如server/default/deploy/jboss-service.xml和conf/jboss.conf)。 - 部署应用程序,通常是将WAR或EAR文件复制到相应部署目录。 - 启动服务器,通过bin/run.sh(Linux/Unix)或bin/run....

    jboss-as-master

    3. **管理工具**:讲解如何使用命令行工具(如`jboss-cli.sh`)和图形界面管理控制台进行管理操作。 4. **部署应用**:涵盖WAR、EAR、EJB JAR等各种类型的部署方法。 5. **故障排除**:提供常见问题的解决方案和...

    jboss-portal-2.0.1RC1-jboss-4.0.2.zip_axis-ws4ee.jar_jboss_jboss

    这个版本的JBoss Portal与JBoss应用服务器4.0.2一起使用,后者是一个稳定且广泛使用的Java EE实现,支持EJB、JMS、JTA等核心服务。 Axis 是一个用于Web服务的开源工具包,特别是ws4ee.jar,它是Axis for JBoss的一...

    Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books

    4. **消息驱动bean**:消息驱动bean是响应JMS(Java Message Service)消息的bean,用于异步处理任务,增加了系统的可扩展性和解耦性。 5. **J2EE工作簿**:书中包含的J2EE_workbook.zip可能提供了与J2EE平台相关的...

    jboss-as-7.1.0.Final.zip

    在Java EE的框架下,JBoss AS提供了全面的中间件服务,支持Web应用、EJB、JMS、JPA等技术,是企业级应用开发和部署的重要基础设施。 JBoss AS 7.1.0.Final版本是其发展历史中的一个重要里程碑。这个版本的发布,...

    JBoss-4.2.3.GA-jdk6.zip

    JBoss-4.2.3.GA-jdk6.zip 是一个包含了JBoss应用服务器的版本4.2.3 GA(General Availability),专为Java Development Kit(JDK)6设计的软件包。JBoss是一个开源的企业级Java应用服务器,它遵循Java EE...

Global site tag (gtag.js) - Google Analytics