- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 JMS 的新手,我正在尝试加载 connectionFactory。我遵循了几个教程,但由于某种原因它似乎不起作用,每次我尝试“.lookup”connectionfactory 时都会出现异常。我正在使用 JBoss7.1。
这是我试图从中获取 connectionFactory 的类:
public class QueueSend extends Frame implements ActionListener {
private QueueConnectionFactory qconFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueSender qsender;
private Queue queue;
private TextMessage msg;
private TextField tf=new TextField();
private Button send=new Button("Send");
public QueueSend(){
super("Queue Sender");
setLocation(150,50);
setSize(200,100);
add(tf);
add(send,BorderLayout.SOUTH);
send.addActionListener(this);
send.setEnabled(false);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
send("quit");
close();
System.exit(0);
}
});
setVisible(true);
init();
}
public void init(){
try{
InitialContext ctx = getInitialContext();
qconFactory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
queue = (Queue) ctx.lookup("java:/queue/text");
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
qsender = qsession.createSender(queue);
qcon.start();
send.setEnabled(true);
}catch(NamingException e1){e1.printStackTrace();
}catch(JMSException e2){e2.printStackTrace();}
}
public void actionPerformed(ActionEvent e){
String message=tf.getText();
tf.setText("");
if(message.length()>0)
send(message);
}
public void send(String message){
try{
//send a message with the given string
TextMessage textMessage = qsession.createTextMessage(message);
qsender.send(textMessage);
// enter text here
}catch(JMSException e){e.printStackTrace();}
}
public void close(){
try{
qsender.close();
qsession.close();
qcon.close();
}catch(JMSException e1){e1.printStackTrace();
}catch(NullPointerException e2){e2.printStackTrace();}
}
public static void main(String[] args){
new QueueSend();
}
public InitialContext getInitialContext(){
Properties properties = new Properties();
properties.put(Context.URL_PKG_PREFIXES,"org.jboss.ejb.client.naming");
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
properties.put("jboss.naming.client.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
properties.put("java.naming.provider.url","remote://127.0.0.1:4447");
properties.put("jboss.naming.client.ejb.context","true");
properties.put("jboss.naming.client.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT","false" );
try {
return new InitialContext(properties);
} catch (NamingException e) {
System.out.println("Cannot generate InitialContext");
e.printStackTrace();
}
return null;
}
}
我得到这个异常:
javax.naming.NameNotFoundException: ConnectionFactory -- service jboss.naming.context.java.jboss.exported.ConnectionFactory
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:178)
at org.jboss.naming.remote.protocol.v1.Protocol$1.handleServerMessage(Protocol.java:127)
at org.jboss.naming.remote.protocol.v1.RemoteNamingServerV1$MessageReciever$1.run(RemoteNamingServerV1.j ava:73)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
当我从浏览器登录到 JBoss 服务器时,我在“命名”选项卡下找不到“ConnectionFactory”
这是来自 standalone-full.xml:
<jms-connection-factories>
<connection-factory name="InVmConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/ConnectionFactory"/>
</entries>
</connection-factory>
<connection-factory name="RemoteConnectionFactory">
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="RemoteConnectionFactory"/>
<entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
</entries>
</connection-factory>
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
</entries>
</pooled-connection-factory>
</jms-connection-factories>
我做错了什么?
最佳答案
我发现了问题所在。我的 JBoss 服务器的默认配置文件是 standalone.xml,而 connectionFactory 在 standalone-full.xml 文件中配置,它是 standalone.xml 的更完整版本,所以我所要做的就是更改配置文件服务器从 standalone.xml 到 standalone-full.xml 就成功了:@)~
关于java - 在 JMS 上找不到带有 JNDI 的 ConnectionFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21026300/
我安装了一个全新的 WSO2 ESB 4.2.3 版(到目前为止是最稳定的版本),并且我在 axis2.xml 文件中配置了 JMS 传输,如下所示: org.j
我有一个包含两个 ConnectionFactory(不同代理)的应用程序。它们配置有 java 类: @Bean public ConnectionFactory ... @
使用 JBoss 4.0.5、JBossMQ 和 Spring 2.0.8,我试图将 Spring 配置为实例化依赖于远程 JMS 队列资源的 bean。我遇到的所有示例都依赖于使用 JNDI 来查找
我正在 Pearl 9100 中测试一个应用程序。我的应用程序使用 ConnectionFactory 来获取可用连接并执行 HTTP 请求。 我正在像这样设置 ConnectionFactory p
我正在使用 Camel 在 RabbitMQ 中使用和生成消息。另外,我正在使用 Spring boot,所以我创建了一个 ConnectionFactory具有我想要的所有配置的 bean。 效果很
首先,我想为这里的一些杂乱无章的文章道歉。我正在编写一个 spring boot 应用程序来从 MQ 队列中读取消息。但是在尝试创建 MQXAConnectionFactory 对象的实例时出现异常。
我有一个应用程序,它充当服务器并定期将问题/答案推送到 JMS 队列,这部分工作正常。 我想做的是在专用应用程序中使用发送到此队列的消息,但是当我尝试访问 ConnectionFactory 时,当我
我的问题是关于以下两个工厂的使用: 连接工厂 队列连接工厂 目前我只使用ConnectionFactory 来初始化所有内容: Connection conn = factory.createConn
我的理解是: MDBs(消息驱动 Bean)通过激活规范连接。 MDPs(消息驱动 POJO)通过连接工厂连接。 此图from IBM很有帮助: 对我来说,this explanation from
我有一个 connectionFactory 的 spring-bean 到 hornetQ: 并且,这个 bean 正在
在我的应用程序中,我使用 Hibernate 和 mysql 连接到数据库。只要有来自 GUI 的请求,此应用程序就会连接到数据库。在尝试再次连接到数据库后,如果长时间没有来自 GUI 的请求。我收到
我正在使用 WebLogic Server:12.1.1.0、Spring 3.2.11.RELEASE 和 Camel 2.13.4。 我的 WebLogic 上有一个 ConnectionFact
这是我在这个论坛上的第一个问题..:) 请帮助我了解如何在 JBossAS5 上配置 JMS ConnectionFactory ..我创建了一个简单的 MDB 应用程序: @MessageDrive
我正在尝试从 java 应用程序将消息放入 jms 队列 (weblogic) 中。 InitialContext ctx = getInitialContext(); qconFactory = (
我正在使用 Jmeter 的 JMS 点对点采样器来测试将大量 JMS 消息发布到队列时的性能。 Jmeter 目前为每个线程(根据提供的线程数)创建一个新的QueueConnectionFactor
我正在覆盖 Spring Social Twitter 和 Facebook 的默认 Spring Boot 配置。运行应用程序时出现以下错误。 org.springframework.beans.
因此 Tapestry 有其默认的 DatabaseServiceProvider.php,其中包含以下代码。 $this->app->singleton('db.factory', function
我已经通过 JNDI 设置了一个 JMSTemplate,如下所示:
我正在玩 Spring Boot 入门指南,但自动配置失败,我得到: java.lang.ClassNotFoundException: javax.jms.ConnectionFactory 似乎
我正在考虑使用 HornetQ 作为消息传递提供程序。我想知道什么连接工厂适合什么行为/解决方案? 最佳答案 connectionfactory 是基础工厂。具体来说,javax.jms.Connec
我是一名优秀的程序员,十分优秀!