qq_33325842 2018-03-06 07:54 采纳率: 0%
浏览 1388
已结题

JMS捕获ORACLE高级队列数据,JMS-130: JMS 队列不能启用多个使用者

public void init(){
 QueueConnectionFactory queueConnectionFactory = null;  
QueueConnection queueConnection = null;  
QueueSession queueSession = null;  

Queue queue = null;  
QueueReceiver subscriber = null;  
Message message = null;  

try{
Properties properties = new Properties();
**InputStream in = this.getClass().getClassLoader().getResourceAsStream("aqDBC.properties");
//配置文件内容
//hostname=192.168.1.118
//sid=fuguo
//port=1521
//driver=thin

//user=stradmin
//password=stradmin**

properties.load(in);

queueConnectionFactory = AQjmsFactory.getQueueConnectionFactory(properties.getProperty("hostname")
,properties.getProperty("sid"), Integer.valueOf(properties.getProperty("port")), 
properties.getProperty("driver"));  
queueConnection = queueConnectionFactory.createQueueConnection(properties.getProperty("user"), 
properties.getProperty("password"));

queueConnection.start();  

queueSession = queueConnection.createQueueSession(false,  
Session.AUTO_ACKNOWLEDGE);  
_//这行代码报错:oracle.jms.AQjmsException: JMS-130: JMS 队列不能启用多个使用者   JMS-130 这个问题,没弄清楚是怎么出现的
queue = ((AQjmsSession) queueSession).getQueue("stradmin", "JMS_QUEUE");  //问题主要在这_
subscriber = queueSession.createReceiver(queue);
subscriber.setMessageListener(new MessageListener() {//底下这块 就没什么大用了

@Autowired
private RealTimeCashInterfaceAction realTimeCashInterfaceAction;

    @Override
    public void onMessage(Message message) {//待确定 字段名待修改
try {

} catch (Exception e) {
e.printStackTrace();
}
    }
});
}  catch(Exception e){
e.printStackTrace();
}
}

ORACLE部分
JMS_QUEUE队列
begin
sys.dbms_aqadm.create_queue(
queue_name => 'JMS_QUEUE',
queue_table => 'JMS_QUEUE_TABLE',
queue_type => sys.dbms_aqadm.normal_queue,
max_retries => 5,
retry_delay => 0,
retention_time => 0);
end;
/

所有者就是STRADMIN

  • 写回答

1条回答 默认 最新

  • yctang 2018-03-06 08:05
    关注

    是不是启了多线程监听了队列 ? 或者是之前启动的程序没有停止?

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog