说笨还嘴硬不肯不承认,看吧,读取queue用parse xml的方法多傻呀,万一web server不是jboss就得满处找配置文件了,而且文件名还被我很蠢地固化到了程序中(懒得再增加一个property文件)。
××××××××××××× 问题解决的分隔线 ×××××××××××××××
好了,这下终于用读取JNDI的方法解决了。
因为和queue进行连接的时候首先要做的一步是在context里根据jndi进行lookup,所以直接读取jndi的list即可得到包括queue在内的所有值。
剩下的就只是挑选出需要用的queue。
代码如下:
protected String[] getQueueListFromJNDI() throws ServletException {
Vector ql = new Vector(0);
int qlLength = 0;
try{
InitialContext ctx = new InitialContext();
NamingEnumeration en = ctx.list( "queue" );
while(en.hasMoreElements()) {
NameClassPair nc = (NameClassPair)en.nextElement();
ql.addElement(nc.getName());
qlLength ++;
}
ctx.close();
} catch(NamingException e) {
e.printStackTrace();
}
String[] queueList = new String[qlLength];
for(int i = 0; i < qlLength; i ++ ){
queueList[i] = (String)ql.elementAt(i);
}
return queueList;
}
编写+查阅API资料耗时2小时,而上次的xml解析耗时……8小时
分享到:
相关推荐
3. **Queue**:消息的存储区域,消费者从Queue中获取消息。 4. **Binding**:定义了Exchange与Queue之间的关系,决定消息如何从Exchange流向Queue。 5. **Producer**:生产者是发布消息到RabbitMQ的客户端。 6. **...
SQL Server Express 是独立软件供应商 (ISV)、服务器用户、非专业开发人员、Web 应用程序开发人员、网站宿主以及客户端应用程序编程爱好者的理想之选。 未及时包括在本自述文件中的任何有关 SQL Server Express 的...
在Android开发中,有时我们需要与服务器进行交互,获取或发送数据。当服务器端采用PHP作为后端语言时,Android客户端需要知道如何正确地读取PHP返回的数据。本篇将详细介绍在Android基础应用中如何实现这一功能。 ...
本教程将详细介绍如何利用JSON在Android客户端实现一个登录功能,通过与web服务器交互验证用户凭证。 首先,理解JSON的基本结构至关重要。JSON由键值对组成,键是字符串,值可以是各种数据类型,如字符串、数字、...
- 点对点模式(Point-to-Point):基于Queue的消费模式,消息被一个Consumer消费后,其他Consumer无法再获取。 在RocketMQ 4.7.1中,RocketMQ-console是一个Web管理界面,用于监控和管理RocketMQ集群。它提供了以下...
- **Queue**: 队列是存储消息的地方,消费者从队列中获取消息,队列是FIFO(先进先出)的。 - **Binding**: 绑定是交换器与队列之间的关联,定义了消息如何从交换器流向队列。 - **Producer**: 生产者是发送消息...
- `TeamQueue Writer`线程从队列中获取请求对象并通过socket发送。 - `TeamQueue Reader`线程持续监听来自Team Server的响应。 3. **数据同步:** - 客户端发送`aggressor.ready`请求,表明已准备好与服务端进行...
- **队列(Queue)**:消息的实际存储位置,消费者从队列中获取消息。 - **绑定(Binding)**:定义交换机如何将消息路由到队列。 - **生产者(Producer)**:发送消息到交换机的应用。 - **消费者(Consumer)*...
在Web应用程序中,这种设计模式可以显著提升用户体验,因为它允许服务器快速响应并返回,而不需要等待任务完成。 Node.js在这里的角色是提供服务器端的脚本执行环境,通过编写JavaScript代码来实现对Redis队列的...
5. **管理插件与Web界面**: RabbitMQ Server 3.13.0 默认可能未启用管理插件,可以通过 `%RABBITMQ_SERVER_HOME%\sbin\rabbitmq-plugins.bat` 命令启用。启用后,可以在浏览器中访问 `http://localhost:15672` 来...
我们向队列中写入一条消息,然后从队列中读取并打印出来。 **五、异常处理与最佳实践** 在实际应用中,必须考虑错误处理和资源管理。例如,当无法连接到队列管理器或者队列不存在时,应捕获并处理异常。此外,每次...
" this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);\n" + " window.setTimeout('" + strRef.Replace("'", "\\'") + "', 0, 'JavaScript');\n" + " }\n" + " ...
3. **Queue**: 存储消息的容器,消费者从这里获取消息。 4. **Binding**: 连接交换机和队列的规则,定义了消息如何从交换机流向队列。 5. **Producer**: 生产者,发送消息到RabbitMQ的实体。 6. **Consumer**: 消费...
3. **Queue**: 队列是RabbitMQ中存储消息的实际位置,它是持久化的,可以被多个消费者共享。 4. **Binding**: 绑定是交换器与队列之间的关系定义,指定了消息如何从交换器路由到队列。 5. **Producer**: 生产者是...
总结而言,Flink Runtime Web的易用性优化方案旨在从数据获取、关联、页面性能和交互设计四个方面全方位提升用户体验。通过这些改进,运维和开发人员可以更高效、更直观地监控和管理Flink作业,从而在大数据处理的...
2. **获取Job信息**:可以使用`JenkinsServer`实例获取Job的列表,或者根据Job名称获取特定Job的详细信息。 ```java List<Job> jobs = jenkins.getJobs(); Job job = jenkins.getJob("job-name"); ``` 3. **创建...
这体现在性能监视器中的`Avg.Disk Queue Length`(平均磁盘队列长度)和`Pages/Sec`(每秒读取的磁盘页面数)等指标异常高,远超过了正常值范围。 #### 解决方案 **1. 分析内存使用情况** - **内存限制**:32位...
2. **队列(Queue)**:存储消息的地方,消费者从队列中获取消息。多个消费者可以连接到同一个队列,消息会被公平地分发给它们。 3. **绑定(Binding)**:定义了交换机与队列之间的关系,指定消息如何从交换机路由...
- **队列(Queue)**:存储消息的地方,消费者从队列中获取消息。 - **生产者(Producer)**:发送消息到队列的应用。 - **消费者(Consumer)**:接收并处理队列中的消息的应用。 - **交换机(Exchange)**:根据预...
例如,`$_GET`和`$_POST`分别用于获取URL参数和POST提交的数据,而`$_SERVER`数组则包含服务器相关的头信息和脚本信息。 最后,还有一些其他函数,如`apache_child_terminate`用于在Apache环境下结束子进程,`...