`
a3mao
  • 浏览: 562961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Glassfish初体验之六

    博客分类:
  • Work
阅读更多
上篇使用annotation来创建客户端代码发送消息到JMS队列中,非常的简单但是必须要把客户端部署到server上。很多情况我们并不一定要在服务器上去执行客户端代码或者说我们并不一定要部署到服务器上。
下面就是要使用java 应用来执行JMS客户端代码。
package com.test.jms;

import java.util.Enumeration;
import java.util.Properties;
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.naming.InitialContext;
import javax.naming.NamingException;

public class TestSendMessage
{

/**
* @param args
*/
public static void main(String[] args)
{

java.util.Properties properties = new Properties();

// set the properties of the connection

properties.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.enterprise.naming.SerialInitContextFactory");

properties.put(Context.PROVIDER_URL, "localhost:8080");

properties.put(Context.SECURITY_PRINCIPAL, "admin");

properties.put(Context.SECURITY_CREDENTIALS, "adminadmin");

// start the initial context with the specified properties
ConnectionFactory queueCF = null;
Queue queue = null;
try
{
InitialContext context = new InitialContext(properties);
queueCF = (ConnectionFactory) context.lookup("jms/myCF");

if (queueCF == null)
{
System.out.println("ConnectionFactory is null");
}

queue = (Queue) context.lookup("jms/myQueue");
if (queue == null)
{
System.out.println("Queue is null");
}
} catch (NamingException e)
{ //
}

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();

System.out.println("TCF: " + queueCF);
System.out.println("<br />Topic: " + queue);

if (!msgs.hasMoreElements())
{
System.out.println("No messages in queue");
} else
{
while (msgs.hasMoreElements())
{
Message tempMsg = (Message) msgs.nextElement();
System.out.println("Message: " + ((TextMessage) tempMsg).getText()
+ "<br>");
}
}

browser.close();
producer.close();
session.close();
connection.close();

} catch (JMSException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

执行后显示:

TCF: com.sun.messaging.jms.ra.ConnectionFactoryAdapter@1988886
<br />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}
Message: This is message <br>
Message: This is message <br>
Message: This is message <br>
Message: This is message <br>
Message: This is message <br>

即说明我们的测试成功了。
分享到:
评论

相关推荐

    java ee 6 with glassfish 3

    GlassFish 3是Oracle公司推出的开源应用服务器,是Java EE 6规范的参考实现。本篇文章将深入探讨Java EE 6与GlassFish 3的结合使用,以及相关的核心概念和技术。 1. **Java EE 6概述**: Java EE 6简化了企业级...

    glassfish集群搭建手册

    标题《Glassfish集群搭建手册》指的是利用Oracle提供的Glassfish应用服务器软件进行集群配置的详细指南。此手册涵盖了在不同场景下通过图形化界面和命令行方式搭建集群的整个过程,并且描述了如何配置集群环境以支持...

    glassfish-3.1.2.2.zip

    首先,Java EE 6是Java平台企业版的第六个版本,它引入了诸多改进和新特性,旨在简化开发流程、提高可维护性和性能。这一版本的关键更新包括:模块化设计、轻量级框架支持、CDI(Contexts and Dependency Injection...

    glassfish安装配置文档

    GlassFish 安装配置文档 GlassFish 是一个基于 Java 的开源应用服务器,提供了一个强大且灵活的平台来部署和管理基于 Java 的应用程序。本文档将指导 readers 通过安装和配置 GlassFish 服务器,并将其与 Eclipse ...

    GlassFish4(GlassFish3)安装

    GlassFish4的下载和安装的详细步骤,下载地址,配置等。附带有GlassFish3的安装简述

    Glassfish部署web项目

    在Java EE或JSF应用开发中,**NetBeans** 和 **Glassfish** 的组合是最优选择之一。NetBeans提供了对Glassfish的优秀支持,使得开发者能够轻松地开发、调试和部署应用。 - **NetBeans**: 它是一个免费且开源的集成...

    Glassfish安装和启动

    ### Glassfish安装与启动详解 #### 一、简介 GlassFish 是一款开源的应用服务器,它遵循Java EE标准,被广泛应用于开发、测试和生产环境中。本文档将详细介绍如何安装和启动GlassFish应用服务器。 #### 二、安装前...

    linux下实现glassfish自动启动

    在Linux环境下,Glassfish服务器的自动化启动是系统管理员和开发者常用的需求,这有助于提升服务器管理效率,确保服务的持续性和稳定性。Glassfish是Oracle公司提供的一个开源Java EE应用服务器,它支持各种Web应用...

    GlassFish5.0安装包

    【GlassFish 5.0 安装与配置详解】 GlassFish,由Oracle公司主导的开源项目,是一款功能强大的Web服务器和应用服务器,以其卓越的性能和丰富的特性在开发者社区中备受推崇。相比于Tomcat,GlassFish提供了更全面的...

    glassfish-ose-4.0 白皮书

    6. **持续集成与测试**:白皮书会涵盖如何利用GlassFish与各种持续集成工具(如Jenkins、Hudson)配合,实现自动化构建、测试和部署,提升开发流程效率。 7. **安全性增强**:GlassFish 4.0强化了安全特性,支持SSL...

    glassfish网络开发服务器

    6. **安全性**:GlassFish提供了丰富的安全特性,包括SSL/TLS加密、JAAS(Java Authentication and Authorization Service)支持、容器管理的身份验证和授权,以及与其他安全框架的集成。 7. **性能优化**:内置了...

    GlassFish2.0的安装

    6. **配置并启动安装**:编辑`c:\Java\glassfish\setup.xml`文件,根据需求修改域(domain)的配置。例如,`&lt;property name="domain.name" value="domain1"&gt;`可更改为你想要的域名。 完成上述步骤后,可以通过在...

    glassfish单机集群jk_little

    在IT行业中,Glassfish是一款开源的应用服务器,由Sun Microsystems开发并维护,后来成为Oracle Corporation的一部分。Glassfish支持Java EE(现在称为Jakarta EE)规范,为开发者提供了构建企业级Web应用的平台。当...

    GlassFish Eclipse Plugin

    6. **版本兼容性**:GlassFish Eclipse Plugin通常会兼容多版本的GlassFish服务器和Eclipse IDE,确保在不同环境下的兼容性。 ### 使用方法与步骤 1. **安装插件**:首先,用户需要将下载的插件文件拷贝到Eclipse...

    Glassfish关于tomcat的文档

    ### Glassfish与Tomcat对比分析 #### 执行摘要 对于Web 2.0初创公司、应用服务提供商以及提供动态Web应用的独立软件供应商(ISVs)而言,应用即业务,而应用服务器中的Web容器技术能够直接影响业务成果。Web容器是...

    glassfish安装手册及源文件

    6. **启动与管理**:将Glassfish安装目录的bin路径添加到系统环境变量PATH中,然后使用`asadmin start-domain domain1`命令启动服务器。启动成功后,你可以通过访问`http://localhost:8080`查看默认的域1页面,而...

    Java EE 6 with GlassFish 3 Application Server

    通过"Java EE 6 with GlassFish 3 Application Server"的学习资料,开发者可以深入了解这些关键特性和实践,从而高效地开发基于Java EE 6的企业级应用程序。这份文档将涵盖上述各个知识点的详细解释、示例代码以及...

    glassfish安装步骤.txt

    ### Glassfish安装步骤详解 #### 一、简介 Glassfish是一款开源的应用服务器,它支持Java EE标准,并且在企业级应用开发中具有广泛的应用。为了能够成功安装并配置Glassfish,确保系统环境中已经安装了合适的JDK...

    glassfish安装

    《Glassfish安装详解》 Glassfish,作为Oracle公司开源的一款Java EE应用服务器,是开发者进行企业级Java应用程序部署的重要平台。本文将详细讲解如何安装和配置Glassfish,以帮助初学者快速入门。 首先,理解...

Global site tag (gtag.js) - Google Analytics