任务进度中与先前发的帖子的一些不同_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3885 | 回复: 1   主题: 任务进度中与先前发的帖子的一些不同        下一篇 
yunpeng.xian
注册用户
等级:少校
经验:993
发帖:34
精华:0
注册:1970-1-1
状态:离线
发送短消息息给yunpeng.xian 加好友    发送短消息息给yunpeng.xian 发消息
发表于: IP:您无权察看 2014-8-12 18:09:42 | [全部帖] [楼主帖] 楼主

对与JDK的安装我就不多说了,大家应该都了解。

一般有图形化界面的时候我想大家也不喜欢用命令行(虽然我现在在适应命令行)在安装weblogic的时候可以自己指定JDK如下图

北京联动北方科技有限公司

对于数据连接池操作时出了一点小问题,报出javaEE版本的问题,不是很清楚哪出问题了但果断换了低版本后就正常了。

对于数据连接池我想说的是对开发人员来说其实它和JDBC一般的操作都是一样的,只是数据连接的那几行代码不一样。具体的实现我以前的帖子上有。就不重复了

对于JMS虽然实现了 但与预想的效果不一样 我把问题列在这里 看到的大神提点提点小弟

代码如下 ,问题在代码下面:

package com.queue;



import java.util.Properties;



import javax.jms.BytesMessage;

import javax.jms.JMSException;

import javax.jms.MapMessage;

import javax.jms.Message;

import javax.jms.MessageListener;

import javax.jms.Queue;

import javax.jms.QueueConnection;

import javax.jms.QueueConnectionFactory;

import javax.jms.QueueReceiver;

import javax.jms.QueueSession;

import javax.jms.Session;

import javax.jms.StreamMessage;

import javax.jms.TextMessage;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;



public class Receiver {

public static String s;

public double d = 0;





public  void re() throws NamingException, JMSException {

String url = "t3://localhost:7001";

Properties pp = new Properties();

pp.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");

pp.put(Context.PROVIDER_URL, url);

Context ctx = new InitialContext(pp);

QueueConnectionFactory connFactory = (QueueConnectionFactory)ctx.lookup("connf");

QueueConnection queConn = connFactory.createQueueConnection();

QueueSession queSession = queConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);



Queue queue = (Queue)ctx.lookup("queue");

QueueReceiver queReceiver = queSession.createReceiver(queue);

queReceiver.setMessageListener(new MessageListener() {







public void onMessage(Message message) {

try {

if(message instanceof TextMessage){

= ((TextMessage)message).getText();

}else if(message instanceof StreamMessage){

s = ((StreamMessage)message).readString();

d = ((StreamMessage)message).readDouble();

}else if(message instanceof BytesMessage){

byte[] bt = new byte[1024];

((BytesMessage)message).readBytes(bt);

s = String.valueOf(bt);

}else if(message instanceof MapMessage){

s = ((MapMessage)message).getString("name");



}

} catch (JMSException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(s+"-----------"+d);

}

});



queConn.start();

}







}

我想将上面从队列里得到的信息提取出来,而不仅仅是在方法内部类里才能得到。一句话���是怎么将re()方法里的调用setMessageListener()里的内部类里的成员变量取出来。我想在页面上显示这个值但,数据拿不出来。只能在后台打印。并且有个问题需要注意就是:在topic中每当你运行一次消息的接收者(也就是订阅者)就会多一个订阅者,那么当你在发布信息时,你在控制台打印的信息就会多一天:如下图:

北京联动北方科技有限公司

北京联动北方科技有限公司





赞(0)    操作        顶端 
koei
版主
等级:大校
经验:4186
发帖:7
精华:0
注册:2011-7-21
状态:离线
发送短消息息给koei 加好友    发送短消息息给koei 发消息
发表于: IP:您无权察看 2014-8-12 18:20:26 | [全部帖] [楼主帖] 2  楼

楼主这篇,有差异化,不错 北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论