- 浏览: 938509 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
下面就java中的消息服务作如下学习总结:
java中的消息服务有两种分别是:Queen和Topic
步骤如下:无论是那种消息都需要先配置目标地址文件:message-service.xml
(*-service.xml)*表示你的命名后面必须一致
准备工作:
<1、导入*\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\client
中的所有*.jar文件
<2、使用ANT来编译和发布EJB build.xml 内容如下:
<?xml version="1.0"?>
<!-- ======================================================================= -->
<!-- EJB3 HelloWorld build file -->
<!-- ======================================================================= -->
<project name="MessageDriverBean" default="ejbjar" basedir=".">
<property environment="env" />
<property name="app.dir" value="${basedir}" />
<property name="src.dir" value="${app.dir}\src" />
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="jboss.server.config" value="default" />
<property name="build.dir" value="${app.dir}\build" />
<property name="build.classes.dir" value="${build.dir}\classes" />
<!-- Build classpath -->
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>
<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes.dir}" />
</target>
<!-- =================================================================== -->
<!-- Compiles the source code -->
<!-- =================================================================== -->
<target name="compile" depends="prepare" description="编绎">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>
<target name="ejbjar" depends="compile" description="创建EJB发布包">
<jar jarfile="${app.dir}\HelloWorld.jar">
<fileset dir="${build.classes.dir}">
<include name="com/**/*.class" />
</fileset>
</jar>
</target>
<target name="deploy" depends="ejbjar">
<copy file="${app.dir}\HelloWorld.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" />
</target>
<!-- =================================================================== -->
<!-- Cleans up generated stuff -->
<!-- =================================================================== -->
<target name="clean">
<delete dir="${build.dir}" />
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\HelloWorld.jar" />
</target>
</project>
Queen:
第一步:配置message-service.xml文件内容如下:然后发布到Jboss中
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=liyong.com">
<attribute name="JNDIName">queue/liyong.com</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
第二步:编译和发布message-service.xml拷贝到*\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy
第三步:编写EJB Bean发送消息
public static void main(String[] args) {
try {
InitialContext initialContext=new InitialContext();
QueueConnectionFactory factory = (QueueConnectionFactory)initialContext.lookup("QueueConnectionFactory");
Connection con=factory.createConnection();
//第一个参数:是否建立事务
//第二个参数:表示消息确认模式
Session session=con.createSession(false,QueueSession.AUTO_ACKNOWLEDGE);
//查找目标地址
Destination destination = (Destination )initialContext.lookup("queue/liyong.com");
//创建发送消息
MessageProducer producer = session.createProducer(destination);
TextMessage msg = session.createTextMessage("您好,这是我的第一个消息驱动QueueBean");
producer.send(msg);
//关闭相应资源
producer.close();
session.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
第四步:编写接受端代码:采用消息驱动Bean (Message Driven Bean)接收消息
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="queue/liyong.com"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
public class MessageDriverBeanQuee implements MessageListener{
//第一步:注册这个消息驱动监听位置
//第二步:接受消息
//第三步:发布到服务器
@Override
public void onMessage(Message message) {
TextMessage textMessage=(TextMessage)message;
try {
System.out.println(textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
第五步:发布EJB
Topic:
准备工作:如上
第一步:
配置目标地址文件
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=liyong.com">
<attribute name="JNDIName">queue/liyong.com</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
------------------------------------------------------------
<mbean code="org.jboss.mq.server.jmx.Topic"
name="jboss.mq.destination:service=Topic,name=liyong.com">
<attribute name="JNDIName">topic/liyong.com</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
第二步:编译和发布message-service.xml拷贝到*\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy
第三步:编写EJB Bean发送消息
public static void main(String[] args) {
try {
InitialContext initialContext=new InitialContext();
TopicConnectionFactory factory = (TopicConnectionFactory)initialContext.lookup("TopicConnectionFactory");
Connection con=factory.createConnection();
//第一个参数:是否建立事务
//第二个参数:表示消息确认模式
Session session=con.createSession(false,TopicSession.AUTO_ACKNOWLEDGE);
//查找目标地址
Destination destination = (Destination )initialContext.lookup("topic/liyong.com");
//创建发送消息
MessageProducer producer = session.createProducer(destination);
TextMessage msg = session.createTextMessage("您好,这是我的第一个消息驱动TopicBean");
producer.send(msg);
//关闭相应资源
producer.close();
session.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
第四步:编写接受端代码:采用消息驱动Bean (Message Driven Bean)接收消息
这里我编写了两个Topic来接受消息
<1、
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="topic/liyong.com"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
public class MessageDriverBeanTopic1 implements MessageListener{
@Override
public void onMessage(Message message) {
TextMessage textMessage=(TextMessage)message;
try {
System.out.println("MessageDriverBeanTopic1="+textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
<2、
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="topic/liyong.com"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
public class MessageDriverBeanTopic2 implements MessageListener{
@Override
public void onMessage(Message message) {
TextMessage textMessage=(TextMessage)message;
try {
System.out.println("MessageDriverBeanTopic2="+textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
第五步:发布EJB
大功告成....
源码至下
java中的消息服务有两种分别是:Queen和Topic
步骤如下:无论是那种消息都需要先配置目标地址文件:message-service.xml
(*-service.xml)*表示你的命名后面必须一致
准备工作:
<1、导入*\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\client
中的所有*.jar文件
<2、使用ANT来编译和发布EJB build.xml 内容如下:
<?xml version="1.0"?>
<!-- ======================================================================= -->
<!-- EJB3 HelloWorld build file -->
<!-- ======================================================================= -->
<project name="MessageDriverBean" default="ejbjar" basedir=".">
<property environment="env" />
<property name="app.dir" value="${basedir}" />
<property name="src.dir" value="${app.dir}\src" />
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="jboss.server.config" value="default" />
<property name="build.dir" value="${app.dir}\build" />
<property name="build.classes.dir" value="${build.dir}\classes" />
<!-- Build classpath -->
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>
<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes.dir}" />
</target>
<!-- =================================================================== -->
<!-- Compiles the source code -->
<!-- =================================================================== -->
<target name="compile" depends="prepare" description="编绎">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>
<target name="ejbjar" depends="compile" description="创建EJB发布包">
<jar jarfile="${app.dir}\HelloWorld.jar">
<fileset dir="${build.classes.dir}">
<include name="com/**/*.class" />
</fileset>
</jar>
</target>
<target name="deploy" depends="ejbjar">
<copy file="${app.dir}\HelloWorld.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" />
</target>
<!-- =================================================================== -->
<!-- Cleans up generated stuff -->
<!-- =================================================================== -->
<target name="clean">
<delete dir="${build.dir}" />
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\HelloWorld.jar" />
</target>
</project>
Queen:
第一步:配置message-service.xml文件内容如下:然后发布到Jboss中
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=liyong.com">
<attribute name="JNDIName">queue/liyong.com</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
第二步:编译和发布message-service.xml拷贝到*\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy
第三步:编写EJB Bean发送消息
public static void main(String[] args) {
try {
InitialContext initialContext=new InitialContext();
QueueConnectionFactory factory = (QueueConnectionFactory)initialContext.lookup("QueueConnectionFactory");
Connection con=factory.createConnection();
//第一个参数:是否建立事务
//第二个参数:表示消息确认模式
Session session=con.createSession(false,QueueSession.AUTO_ACKNOWLEDGE);
//查找目标地址
Destination destination = (Destination )initialContext.lookup("queue/liyong.com");
//创建发送消息
MessageProducer producer = session.createProducer(destination);
TextMessage msg = session.createTextMessage("您好,这是我的第一个消息驱动QueueBean");
producer.send(msg);
//关闭相应资源
producer.close();
session.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
第四步:编写接受端代码:采用消息驱动Bean (Message Driven Bean)接收消息
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="queue/liyong.com"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
public class MessageDriverBeanQuee implements MessageListener{
//第一步:注册这个消息驱动监听位置
//第二步:接受消息
//第三步:发布到服务器
@Override
public void onMessage(Message message) {
TextMessage textMessage=(TextMessage)message;
try {
System.out.println(textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
第五步:发布EJB
Topic:
准备工作:如上
第一步:
配置目标地址文件
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=liyong.com">
<attribute name="JNDIName">queue/liyong.com</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
------------------------------------------------------------
<mbean code="org.jboss.mq.server.jmx.Topic"
name="jboss.mq.destination:service=Topic,name=liyong.com">
<attribute name="JNDIName">topic/liyong.com</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
第二步:编译和发布message-service.xml拷贝到*\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy
第三步:编写EJB Bean发送消息
public static void main(String[] args) {
try {
InitialContext initialContext=new InitialContext();
TopicConnectionFactory factory = (TopicConnectionFactory)initialContext.lookup("TopicConnectionFactory");
Connection con=factory.createConnection();
//第一个参数:是否建立事务
//第二个参数:表示消息确认模式
Session session=con.createSession(false,TopicSession.AUTO_ACKNOWLEDGE);
//查找目标地址
Destination destination = (Destination )initialContext.lookup("topic/liyong.com");
//创建发送消息
MessageProducer producer = session.createProducer(destination);
TextMessage msg = session.createTextMessage("您好,这是我的第一个消息驱动TopicBean");
producer.send(msg);
//关闭相应资源
producer.close();
session.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
第四步:编写接受端代码:采用消息驱动Bean (Message Driven Bean)接收消息
这里我编写了两个Topic来接受消息
<1、
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="topic/liyong.com"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
public class MessageDriverBeanTopic1 implements MessageListener{
@Override
public void onMessage(Message message) {
TextMessage textMessage=(TextMessage)message;
try {
System.out.println("MessageDriverBeanTopic1="+textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
<2、
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="topic/liyong.com"),
@ActivationConfigProperty(propertyName="acknowledgeMode",
propertyValue="Auto-acknowledge")
})
public class MessageDriverBeanTopic2 implements MessageListener{
@Override
public void onMessage(Message message) {
TextMessage textMessage=(TextMessage)message;
try {
System.out.println("MessageDriverBeanTopic2="+textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
第五步:发布EJB
大功告成....
源码至下
- MessageDriverBean.zip (21 KB)
- 下载次数: 4
发表评论
-
轻松看懂Java字节码
2018-04-09 10:28 620计算机只认识0和1。这意味着任何语言编写的程序最终都 ... -
happens-before俗解
2018-04-09 10:03 595学习Java并发,到后面总会接触到happens-befor ... -
位与&,位或|,位异或^运算
2018-04-04 17:25 624一.按位与运算符 参加运算的两个数据,按二进制位进行位与 ... -
Java中>>、>>>、<<
2018-04-04 14:47 429定义: 右移动>>:带符号右移。正数右移高位 ... -
在Java中谈尾递归--尾递归和垃圾回收的比较
2017-08-29 17:49 459转载请注明:博客园- ... -
hotspot的垃圾回收策略,设置和调优
2017-01-11 18:48 1895我们都知道JVM内存由几个部分组成: Java栈、程序计数器 ... -
两点距离计算
2016-11-05 18:03 549public class DistanceUtil { pr ... -
protobuf对象序列化问题一
2016-06-15 21:07 2799今天在项目中遇到一个奇葩问题。问题描述:项目基于dubbo服务 ... -
Protostuff对象序列化工具
2016-06-08 09:53 1812VO.java import java.io.Serial ... -
高性能序列化、反序列化protostuff 使用
2016-06-07 16:45 30371、引用jar包: pom.xml: <!-- p ... -
Java调用bat文件和exe文件
2016-01-12 11:09 955public static void main(String ... -
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
2015-12-30 15:55 10542这里在开始搭建环境之前请搭建先熟悉了解Dubbox、Red ... -
网站集成ueditor+上传文件到共享盘
2015-12-10 13:47 1957这里给大家分享下载使用ueditor使用心得, ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4931最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
JCIFS--java通过域登录实现单点登录
2014-09-04 15:38 4154JCIFS--java通过域登录实现单点登录 ... -
JPA 去除重复列数据
2013-12-30 15:31 11187//清除重复列 Session sessi ... -
使用Eclipse构建Maven的SpringMVC项目
2013-12-12 13:05 988使用Eclipse构建Maven的Spri ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-12-12 13:04 1291Ehcache 整合Spring 使用页面、对象缓存 E ... -
Spring mvc整合hibernate例子
2013-12-11 13:42 1183企业级项目实战(带源码)地址: http://zz563143 ...
相关推荐
在JMS中,消息通常通过消息代理(Message Broker)进行中转,它扮演了消息的存储和转发的角色。 JMS支持两种消息模式: 1. 点对点(Point-to-Point, PTP):在这种模式下,消息被发送到一个称为队列(Queue)的特定...
SUN官方的The J2EE, JMS and JNI tutorials
JAVA的J2EE的JMS的API,喜欢的就自己下载呗,呵呵,不好的的话也别喷我。。。呵呵
在JMS中,消息可以设置为持久化模式,确保即使在提供者出现问题时也能保留消息。同时,需要注意的是,Session、MessageProducer和MessageConsumer不支持并发,而ConnectionFactory、Destination和Connection则可以...
在J2EE应用中,它用于查找和配置应用程序组件,如EJB、JMS队列等。 9. **Web Services** J2EE支持创建和消费Web服务,如SOAP和RESTful接口。这些服务可以通过WSDL(Web服务描述语言)进行定义,并通过UDDI(统一...
Java 2 Enterprise Edition (J2EE) 是一个用于构建企业级分布式应用程序的平台,它包含了多种API和服务,为开发人员提供了全面的框架。这个压缩包文件"J2EE API中文文档"显然是一份中文版的J2EE API参考手册,对于...
JMS允许应用程序创建、发送、接收和读取消息,从而在分布式环境中实现解耦和可靠的数据传输。 JMS的核心概念包括以下几点: 1. **消息**:消息是数据的载体,包含了要传递的信息。JMS支持两种类型的消息:文本消息...
3. **JMS提供者**:实现JMS协议的消息系统,如WebLogic Server提供的JMS服务。JMS提供者负责消息的存储、转发以及相关管理功能。 4. **管理对象**:这些是预定义的JMS对象,客户使用它们进行消息的发送和接收。 ###...
《J2EE5/WS/JMS规范中文文档》是一份重要的技术资料,它涵盖了Java企业版(J2EE)5版本、Web服务以及Java消息服务(JMS)的相关规范,对于理解和开发基于Java的分布式应用系统具有极大的价值。这篇文档详细解读了...
6. **JMS in Application Servers**:JMS通常集成在J2EE(Java 2 Enterprise Edition)应用服务器中,作为其组件服务的一部分,提供消息服务的便捷接入和管理。 使用JMS的优势在于: - **异步处理**:JMS允许应用...
4. **JMS**:为异步消息传递提供了标准API,支持点对点和发布/订阅模型。 5. **JTA(Java Transaction API)**:处理跨多个资源的事务管理。 6. **JNDI(Java Naming and Directory Interface)**:提供命名和目录...
J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的用于构建企业级分布式应用程序的框架,它提供了丰富的服务和组件模型,包括Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service...
J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的用于构建企业级分布式应用程序的框架,它提供了服务器端的编程模型和运行环境,支持多种服务,如事务处理、安全、集群、数据库连接等。本实例集合将...
4. **JMS(Java Message Service)**:JMS是Java平台的消息中间件API,1.1版本在J2EE 1.5中,用于实现异步通信和解耦应用程序。通过消息队列,不同组件可以在不受时间限制的情况下交互数据。 5. **JTA(Java ...
不论是Web应用的开发,还是后台服务的实现,J2EE API都提供了强大的工具和框架,使得开发者能够在复杂的企业环境中高效地工作。因此,对于有意从事Java企业级应用开发的人来说,熟悉和精通J2EE API是至关重要的。
4. JMS:Java消息服务允许在分布式环境中进行异步通信。开发者可以通过文档学习如何创建消息代理、发布/订阅模型和点对点模型,以及如何使用消息驱动的Bean。 5. JTA:JTA定义了Java应用程序进行分布式事务处理的...
在J2EE 1.5中,JMS 1.1规范定义了多种消息模式,如点对点、发布/订阅,用于实现异步通信和解耦。 6. **JTA(Java Transaction API)**: JTA提供了分布式事务处理的能力,确保在多资源环境下的数据一致性。J2EE ...
4. 服务定位器模式:在J2EE中,服务定位器模式用于查找和管理服务。例如,JNDI(Java Naming and Directory Interface)就是一个服务定位器,它允许应用查找和绑定到资源,如数据库连接池或邮件服务器。 5. 桥接...