- 浏览: 562992 次
- 性别:
- 来自: 北京
最新评论
-
anqinghaozi:
请问 你这weblogic jms 如何部署到tomcat上去 ...
Spring+weblogic接收JMS消息 -
cjliang:
1456746014@qq.com 我也要
jqGrid学习 ----------------- 第一个实例 -
Moy_Yeung:
Moy_Yeung 写道 您好 我最近在学习使用这个插件 能麻 ...
jqGrid学习 ----------------- 第一个实例 -
Moy_Yeung:
您好 我最近在学习使用这个插件 能麻烦博主发份demo吗 谢 ...
jqGrid学习 ----------------- 第一个实例 -
十叶木竹:
最近在自学这个插件,麻烦博主,发一份源码,以供学习,谢谢博主啦 ...
jqGrid学习 ----------------- 第一个实例
JMS的各种资源都已经创建好了,下面将介绍如何发送一条消息到JMS的队列里。
有两种方式来写客户端代码,使用annotation或者不使用。
1、使用annotation
1)创建web工程。
在eclipse里创建web工程很简单。”File“-”New“-”Web Project“,然后输入工程名:TestJMS2,然后”Finish“。
2)新建Servlet
新建包名:com.test.jms,在此包下新建Servlet:TestJMSServlet。
package com.test.jms;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Properties;
import javax.annotation.Resource;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueBrowser;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestJMSServlet extends HttpServlet
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Resource(mappedName = "jms/myCF")
private ConnectionFactory queueCF;
@Resource(mappedName = "jms/myQueue")
private Queue queue;
/**
* Constructor of the object.
*/
public TestJMSServlet()
{
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy()
{
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
Connection connection = queueCF.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer((Destination) queue);
TextMessage message = session.createTextMessage();
message.setText("This is message ");
producer.send(message);
QueueBrowser browser = session.createBrowser(queue);
Enumeration msgs = browser.getEnumeration();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println("<br>");
out.println("TCF: " + queueCF);
out.println("<br />Topic: " + queue);
out.println(", using the POST method");
out.println("<br>");
out.println("<br>");
out.println("<br>");
out.println("your messages sent are:<br>");
if (!msgs.hasMoreElements())
{
System.out.println("No messages in queue");
out.println("No messages in queue<br>");
} else
{
while (msgs.hasMoreElements())
{
Message tempMsg = (Message) msgs.nextElement();
out.println("Message: " + ((TextMessage)tempMsg).getText() + "<br>");
System.out.println("Message: " + tempMsg);
}
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
browser.close();
producer.close();
session.close();
connection.close();
} catch (JMSException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException
{
// Put your code here
}
}
3)web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>TestJMSServlet</servlet-name>
<servlet-class>com.test.jms.TestJMSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestJMSServlet</servlet-name>
<url-pattern>/servlet/TestJMSServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
这样一个测试程序就算完成了,
部署应用到Glassfish上,然后启动服务,
地址栏中输入:http://localhost:8080/TestJMS2/servlet/TestJMSServlet
得到如下信息:
This is class com.test.jms.TestJMSServlet
TCF: com.sun.messaging.jms.ra.DirectConnectionFactory@6711b0
Topic: Sun Java System MQ Destination getName(): myQueueDes Class: com.sun.messaging.Queue getVERSION(): 3.0 isReadonly(): false getProperties(): {imqDestinationName=myQueueDes, imqDestinationDescription=A Description for the Destination Object} , using the POST method
your messages sent are:
Message: This is message
Message: This is message
Message: This is message
Message: This is message
有两种方式来写客户端代码,使用annotation或者不使用。
1、使用annotation
1)创建web工程。
在eclipse里创建web工程很简单。”File“-”New“-”Web Project“,然后输入工程名:TestJMS2,然后”Finish“。
2)新建Servlet
新建包名:com.test.jms,在此包下新建Servlet:TestJMSServlet。
package com.test.jms;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Properties;
import javax.annotation.Resource;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueBrowser;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestJMSServlet extends HttpServlet
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Resource(mappedName = "jms/myCF")
private ConnectionFactory queueCF;
@Resource(mappedName = "jms/myQueue")
private Queue queue;
/**
* Constructor of the object.
*/
public TestJMSServlet()
{
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy()
{
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
Connection connection = queueCF.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer((Destination) queue);
TextMessage message = session.createTextMessage();
message.setText("This is message ");
producer.send(message);
QueueBrowser browser = session.createBrowser(queue);
Enumeration msgs = browser.getEnumeration();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println("<br>");
out.println("TCF: " + queueCF);
out.println("<br />Topic: " + queue);
out.println(", using the POST method");
out.println("<br>");
out.println("<br>");
out.println("<br>");
out.println("your messages sent are:<br>");
if (!msgs.hasMoreElements())
{
System.out.println("No messages in queue");
out.println("No messages in queue<br>");
} else
{
while (msgs.hasMoreElements())
{
Message tempMsg = (Message) msgs.nextElement();
out.println("Message: " + ((TextMessage)tempMsg).getText() + "<br>");
System.out.println("Message: " + tempMsg);
}
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
browser.close();
producer.close();
session.close();
connection.close();
} catch (JMSException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException
{
// Put your code here
}
}
3)web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>TestJMSServlet</servlet-name>
<servlet-class>com.test.jms.TestJMSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestJMSServlet</servlet-name>
<url-pattern>/servlet/TestJMSServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
这样一个测试程序就算完成了,
部署应用到Glassfish上,然后启动服务,
地址栏中输入:http://localhost:8080/TestJMS2/servlet/TestJMSServlet
得到如下信息:
This is class com.test.jms.TestJMSServlet
TCF: com.sun.messaging.jms.ra.DirectConnectionFactory@6711b0
Topic: Sun Java System MQ Destination getName(): myQueueDes Class: com.sun.messaging.Queue getVERSION(): 3.0 isReadonly(): false getProperties(): {imqDestinationName=myQueueDes, imqDestinationDescription=A Description for the Destination Object} , using the POST method
your messages sent are:
Message: This is message
Message: This is message
Message: This is message
Message: This is message
发表评论
-
python学习摘要
2011-04-18 15:27 1409学习一门脚本语言是很 ... -
tmux快捷键
2011-04-16 07:39 1558摘要 http://rainbird.blog.51cto.c ... -
eclipse subclipse javahl 库加载错误
2011-04-13 17:31 2387网上搜集 http://islandlinux.org/how ... -
使用Msmtp mutt shell发邮件 (转)
2010-11-26 09:32 2842原文地址:http://fdsazi.blog.51cto.c ... -
Ubuntu10.0.4 Maven环境变量设置
2010-08-15 14:02 34711. 下载并解压缩apache-maven-2.2.1-bin ... -
Ubuntu10.0.4 Java环境变量设置
2010-08-15 14:00 4069Ubuntu10.0.4 下手工安装jdk及其环境变量设置 ... -
Managing Hierarchical Data in MySQL(转)
2010-07-09 10:01 1186http://dev.mysql.com/tech-resou ... -
JS的encode跟decode
2010-05-21 16:03 10639网上看到的,感觉能用得到,收藏下吧 /** * * URL ... -
Apache ActiveMQ
2009-12-25 15:46 3434一、特点 支持各种语言和协议的客户端。如:Java、C、C++ ... -
mysql数据的备份恢复命令
2009-12-14 15:37 1323记录下命令,害怕忘记! 导出整个数据库命令: D:\mys ... -
Struts2.18 的 interceptor
2009-12-08 08:20 3036首先定义我们自己的Interceptor package ... -
修改非安装版本mysql字符集
2009-12-08 08:08 1918如果我们的msyql是免安装版本,在windows系统下,my ... -
jqGrid学习 --------------自定义搜索
2009-12-06 15:45 15315定义自己的查询 <div id="myse ... -
jqGrid学习 -------------- 搜索工具栏
2009-12-06 15:13 13096搜索工具栏只是在列标题下面构造一个输入框。且使用表格的url进 ... -
jqGrid学习 -------------- 搜索
2009-12-06 13:32 9419表格中所有的列都可以作为搜索条件。 所用到的语言包文件 $ ... -
jqGrid学习 -------------- 自定义格式化类型
2009-12-06 13:04 8675<script> jQuery(" ... -
jqGrid学习 -------------- 格式化
2009-12-06 11:29 12479jqGrid的格式化是定义在 ... -
jqGrid学习 -------------- 自定义按钮
2009-12-06 11:14 16086用法: <script> ... jQue ... -
jqGrid学习 -------------- 翻页(2)
2009-12-06 10:32 8054jqGrid的翻页导航是一个方法,你可以事先定义一些其他操作, ... -
jqGrid学习 -------------- 翻页
2009-12-05 21:45 5376jqGrid的翻页要定义在html里,通常是在grid的下面, ...
相关推荐
2. 解压:将下载的压缩包解压至你希望安装的目录,通常建议选择一个不会频繁更改的位置,如`C:\glassfish5`(Windows)或`/opt/glassfish5`(Linux)。 3. 初始化:在命令行中,切换到GlassFish的安装目录下的`bin`...
5. 最后,手册还包括了通过命令行界面进行集群配置的说明,这通常包括通过SSH在各节点安装Glassfish,创建节点,配置集群和实例,以及设置集群相关的JVM参数和系统参数。 6. 关于Apache的配置,文档强调了为了实现...
GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。该项目提供了开发高...
GlassFish网络开发服务器是一款强大的开放源代码应用服务器,主要用于运行Java EE(Java Platform, Enterprise Edition)应用程序。由Oracle公司维护,它支持各种企业级服务,包括Web服务、EJB(Enterprise ...
1. **JDK 5或更高版本**:Glassfish要求系统环境中至少安装有JDK 5以上的版本。可以通过设置`JAVA_HOME`环境变量来指定JDK的位置。 2. **Ant 1.6.5**:除了JDK之外,还需要安装Ant工具,并且版本号应为1.6.5。这是...
五、GlassFish 常见问题 在使用 GlassFish 时,可能会遇到一些常见的问题,如服务器无法启动、管理员控制台无法访问等。这些问题通常是由于配置不当或权限问题所引起的。解决这些问题需要检查 GlassFish 的配置文件...
在Java EE或JSF应用开发中,**NetBeans** 和 **Glassfish** 的组合是最优选择之一。NetBeans提供了对Glassfish的优秀支持,使得开发者能够轻松地开发、调试和部署应用。 - **NetBeans**: 它是一个免费且开源的集成...
GlassFish4的下载和安装的详细步骤,下载地址,配置等。附带有GlassFish3的安装简述
### Glassfish安装与启动详解 #### 一、简介 GlassFish 是一款开源的应用服务器,它遵循Java EE标准,被广泛应用于开发、测试和生产环境中。本文档将详细介绍如何安装和启动GlassFish应用服务器。 #### 二、安装前...
介绍glassfish以及JAVA EE 5的关系,包含了glassfish的安装配置等信息
在Linux环境下,Glassfish服务器的自动化启动是系统管理员和开发者常用的需求,这有助于提升服务器管理效率,确保服务的持续性和稳定性。Glassfish是Oracle公司提供的一个开源Java EE应用服务器,它支持各种Web应用...
5. **云就绪**:作为一款现代应用服务器,GlassFish 4.0具备良好的云适应性,能够轻松地在虚拟化环境和云平台上部署,支持动态扩展和自动负载均衡。 6. **持续集成与测试**:白皮书会涵盖如何利用GlassFish与各种...
GlassFish 2.0 是 Sun Microsystems 推出的一款免费且开源的 Java EE 服务器,它基于 Java Platform, Enterprise Edition (Java EE) 5规范,提供了包括EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS 2.0、JAXB ...
在IT行业中,Glassfish是一款开源的应用服务器,由Sun Microsystems开发并维护,后来成为Oracle Corporation的一部分。Glassfish支持Java EE(现在称为Jakarta EE)规范,为开发者提供了构建企业级Web应用的平台。当...
《深入解析Glassfish 3.1.2.2与Java EE 6的融合应用》 Glassfish 3.1.2.2是一款由Oracle公司开发的开源应用服务器,它是Java EE 6规范的重要实现者,提供了全面的支持和丰富的功能,为开发者提供了构建企业级Web...
《Glassfish安装手册及源文件详解》 Glassfish是一款开源的应用服务器,它是Java EE平台的实现,为企业级应用提供了一套完整的开发、部署环境。在本文中,我们将深入探讨如何安装Glassfish,以及如何利用Ant工具...
5. **管理服务器**:通过"Servers"视图,可以查看和控制GlassFish服务器的状态,进行启动、停止、重启等操作。 6. **调试应用**:在运行或调试模式下,可以在"Console"视图查看服务器日志,通过断点设置进行调试。 ...
### Glassfish与Tomcat对比分析 #### 执行摘要 对于Web 2.0初创公司、应用服务提供商以及提供动态Web应用的独立软件供应商(ISVs)而言,应用即业务,而应用服务器中的Web容器技术能够直接影响业务成果。Web容器是...
本教程详细的介绍了sun公司的推出的服务器glassfish安装部署的使用步骤,阐述了glassfish和tomcat服务器的异同,以及glassfish的优点!正在开发JavaEE的朋友如果你还没使用过glassfish,那么请你去www.sun.com下载...
《Glassfish安装详解》 Glassfish,作为Oracle公司开源的一款Java EE应用服务器,是开发者进行企业级Java应用程序部署的重要平台。本文将详细讲解如何安装和配置Glassfish,以帮助初学者快速入门。 首先,理解...