从 Camel 路由向 Weblogic JMS 队列发送消息

2023-12-26

我正在尝试通过 Camel 路由将消息放入 Weblogic JMS 中的队列上。

我的目标是最终配置一个路由来使用 jms 队列中的消息,我将先前路由中的数据发布到该队列。

这是我的配置:

<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
        <props>
            <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
            <prop key="java.naming.provider.url">t3://localhost:7001</prop>
            <!-- opional ... -->
            <prop key="java.naming.security.principal">weblogic</prop>
            <prop key="java.naming.security.credentials">weblogic</prop>
        </props>
    </property>
</bean>

<!-- Gets a Weblogic JMS Connection factory object from JDNI Server by jndiName--> 
<bean id="webLogicJmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jndiTemplate" />
    <property name="jndiName" value="jms/TestConnectionFactory" />  <!-- the connection factory object is store under this name -->
</bean>

<!-- Create a new WebLogic Jms Camel Component -->
<bean id="wmq" class="org.apache.camel.component.jms.JmsComponent">
   <property name="connectionFactory" ref="webLogicJmsConnectionFactory"/>
</bean>

我的路线如下所示:

from("cxfrs:bean:rsServer")
     .setBody().body(TestRequest.class)
     .process(new Processor(){
        @Override
        public void process(Exchange exchange) throws Exception {
            TestRequest request = exchange.getIn().getBody(TestRequest.class);
            TestResponse response = new TestResponse();
            response.setAddress(request.getAddress());
            response.setName(request.getName());
        }

     }).to("wmq:queue:TestJMSQueue");

当我尝试执行此路线时,出现此异常:

May 27, 2013 6:37:47 PM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
WARNING: javax.ws.rs.WebApplicationException: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is weblogic.jms.common.JMSException: [JMSExceptions:045101]The destination name passed to createTopic or createQueue "TestJMSModule!TestJMSQueue" is invalid. If the destination name does not contain a "/" character then it must be the name of a distributed destination that is available in the cluster to which the client is attached. If it does contain a "/" character then the string before the "/" must be the name of a JMSServer or a ".". The string after the "/" is the name of a the desired destination. If the "./" version of the string is used then any destination with the given name on the local WLS server will be returned.
at org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.returnResponse(CxfRsInvoker.java:149)
at org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.asyncInvoke(CxfRsInvoker.java:104)
at org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.performInvocation(CxfRsInvoker.java:57)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:167)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:94)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor
...
Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045101]The destination name passed to createTopic or createQueue "TestJMSModule!TestJMSQueue" is invalid. If the destination name does not contain a "/" character then it must be the name of a distributed destination that is available in the cluster to which the client is attached. If it does contain a "/" character then the string before the "/" must be the name of a JMSServer or a ".". The string after the "/" is the name of a the desired destination. If the "./" version of the string is used then any destination with the given name on the local WLS server will be returned.
at weblogic.jms.frontend.FEManager.destinationCreate(FEManager.java:202)
at weblogic.jms.frontend.FEManager.invoke(FEManager.java:544)
at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
at weblogic.messaging.dispatcher.DispatcherImpl.syncRequest(DispatcherImpl.java:184)
at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSyncNoTran(DispatcherImpl.java:287)
at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:59)
at weblogic.jms.client.JMSSession.createDestination(JMSSession.java:3118)
at weblogic.jms.client.JMSSession.createQueue(JMSSession.java:2514)

我按照此处提到的过程创建了一个队列:https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simple https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simple

我正在创建一个 JMS 模块(TestJMSModule),并在其中创建一个队列(TestJMSQueue)和一个连接工厂。

我是 JMS 的新手,我知道我在 Camel 端或 Weblogic 端的配置上做错了什么,但无法弄清楚是什么。任何帮助将不胜感激。

提前致谢。


您需要创建一个 JMS 服务器。然后,您需要在 JMS 模块中创建一个子部署,然后将该子部署定位到 JMS 服务器。

那么语法需要是 JMSServer/JMSModule!队列

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Camel 路由向 Weblogic JMS 队列发送消息 的相关文章

  • 无法使用 JMS 应用程序从 IBM MQ 获取响应

    我们使用 IBM MQ 以请求 回复方式与第三方进行通信 我们向他们发送请求 他们给我们答复 目前 我们都有一个简单的基于 Java 的本机 IBM MQ 应用程序 我们计划使用 spring jms 重写我们的代码 但是当使用 sprin
  • 来自远程客户端的 websphere jms 队列访问

    背景我是 php 和前端 Web 开发人员 使用 Netbeans 开发 Java 应用程序 从 websphere 我认为是 V8 5 JMS 队列中读取数据 然后向适当的脚本 服务器发出命令 这是我大约 10 年来第一次主要接触 Jav
  • 如何限制 Glassfish v3 上 MDB 池的大小

    我的消息驱动 Bean 执行高度密集的操作 因此我想限制它的池大小 否则我的服务器会过载 我已经尝试过这个 代码 但它不起作用 它的池仍然是32 根据经验测试 我不时重新启动服务器 因此没有池实例 MessageDriven mappedN
  • 对 Amazon EC2 上的 Weblogic 10gR3 RMI 服务器的负载平衡请求

    我正在参与开发一个分布式解决方案 基于RMI 并部署在多个Weblogic 10gR3 10 3 0 0 节点上 其中一个节点托管 RMI 服务器 其他节点通过外部 JNDI 提供程序访问它 在尝试通过添加额外的 RMI 服务器来改进我们的
  • Google Pub/Sub 是否有队列或主题?

    我熟悉 JMS 对 Google Pub Sub 还很陌生 在 JMS 中有 2 个选项 Queue 只有一个消费者可以接受消息 Topic 每个消费者接受来自主题的每条消息 我相信 Google Pub Sub 应该支持这样的东西 但是快
  • 集群应用程序服务器中的 JMS 主题订阅者如何接收消息?

    假设我创建了一个带有一个订阅者 PropertiesSubscriber 的 JMS 主题 PropertiesTopic PropertiesSubscriber 运行在负载平衡的应用程序服务器集群中 如下图所示 替代文本 http ww
  • 如何为 Weblogic 10.3.6 启用 Java 持久性 2.0

    我正在使用 eclipse 和 weblogic 服务器 为了将项目添加到 weblogic 服务器 它需要支持 Java Persistance 2 0 但是当尝试安装它时 我不断收到此消息 在 Weblogic Server 安装中启用
  • 从远程客户端使用 Glassfish JMS

    我在服务器上安装了 glassfish 并使用 JMS ConnectionFactory 设置了具有资源类型或 javax jms ConnectionFactory 的 jms ConnectionFactory 我现在想从本地计算机上
  • 与竞争的消费者顺序处理消息

    Problem 我以特定顺序 FIFO 在队列上接收消息 比如订单 我的队列中有竞争的消费者 为了进一步增加复杂性 消费者可能只对订单的特定版本感兴趣 具体取决于其状态 例如版本 1 版本 2 和版本 5 订单版本号在订单上可用 但不能用于
  • Camel Sql 大型数据集的消费者性能

    我正在尝试在 Ignite 缓存中缓存一些静态数据 以便更快地查询 因此我需要从 DataBase 读取数据 以便将它们插入到缓存集群中 但是行数约为 300 万 通常会导致 OutOfMemory 错误 因为 SqlComponent 试
  • JMS 规范或各种实现是否支持消息的传递确认?

    假设 Producer 向 JMS 主题 news 发送一条消息 Consumer1 读取了消息 但 Consumer2 离线 因此尚未读取消息 是否有任何内置 规范或实现 方式让生产者收到消费者 1 已读取其消息但消费者 2 尚未读取的通
  • Mina 在 Netbeans 上工作却在 fat-jar 中失败了?

    奇怪的问题 如果我们创建一个 fat jar 来执行该项目而不是从 Netbeans 中 它就会失败 有什么线索吗 这是一个简单的 apache camel 应用程序 它使用 Mina 启动一条路由来接收 HL7 然后使用一个直接应答 AC
  • Java和Android之间的交互

    我目前正在尝试研究如何将 Android 与现有的基于 java 的系统一起使用 基本上 我需要与 Android 应用程序进行通信 该系统当前使用 ActiveMQ 作为 JMS 提供程序在计算机之间传递对象数据 其中一台计算机上有一个显
  • Camel end 与 endChoice - 不是通常的查询

    首先 是的 我已经搜索过 是的 我已经阅读了每个人都指向的同一个 Apache 文档 我认为这有点混乱 我想我知道答案 所以让我举一个我认为正确的例子 然后是我认为的答案 谢谢 哦 我确实知道某些 endChoice 行并不是严格必要的 C
  • IBM Websphere MQ - 用于 Tomcat 部署的 EJB 和 MDB 迁移

    我已经为此苦苦挣扎了很长一段时间 我有一个 IBM Websphere MQ 它使用 EJB 和 MDB 以下是配置ejb mdb的地方
  • 使用 spring-ws 客户端的 Camel 路由偶尔会抛出 javax.xml.transform.stax.StAXSource 异常

    我有一条骆驼 seda 路线 其中大致包含代码 JaxbDataFormat jaxb new JaxbDataFormat false jaxb setContextPath com example data api from seda
  • 使 Camel 路线并行运行

    我有一个应用程序使用骆驼路线执行一些基本的 ETL 每个路由都配置为从一个表中获取一些数据进行一些转换 并将其安全地保存到不同模式的同一个表中 所以骆驼路线和表之间存在一对一的关系 假设我有这两条路线 from direct table 1
  • 如何根据服务器/环境动态加载服务器配置?

    目前 我设置了 Maven 配置文件 以便能够为不同的环境 开发 演示 暂存 生产等 部署我的项目 并且它工作得很好 但问题是 对于我拥有的每个模块 Web 应用程序 我需要复制 粘贴此配置文件 它们都是属性文件 当我需要更改环境 服务器配
  • 如何让 Camel FTP 按需只获取一次

    我对骆驼还很陌生 我一直在尝试让 Camel 根据需要仅通过 FTP 获取单个文件一次 我无法让它发挥作用 这是我尝试过的 让我知道什么是最好的方法以及我的代码有什么问题 1 读取文件后发送一条空消息当收到空消息时 停止路由 from di
  • Spring JMS开始根据请求监听jms队列

    Spring提供 JMSListener用于监听来自特定队列的消息的注释 还有一个替代方案实施JmsListenerConfigurer http docs spring io spring docs current spring fram

随机推荐

  • 使用列名选择 data.table 中的多个列范围[重复]

    这个问题在这里已经有答案了 我可以选择multipledata table 中使用数字向量的列范围 例如c 1 5 27 30 有什么方法可以对列名执行相同的操作吗 例如 以某种类似于col1 col5 col27 col30 你可以与dp
  • Webview 在某些 Droid 上不显示 Twitter

    这是一个模糊的 可能与硬件相关的错误 我有一个 webview 试图显示这样的 Twitter feed http twitter com HP http twitter com HP 该视图在 Droid 2 上运行良好 但在 Droid
  • 为什么 CreateProcessAsUser 需要 Vista/Windows 7 上的交互式窗口站?

    我必须深入研究这个问题 因为在 Windows 2003 XP 上运行良好的代码在 Windows 7 上却无法正常运行 使用 CreateProcessAsUser 启动的应用程序失败 错误代码为 0xc0000142 我的旧代码与 MS
  • 如何解析 std::allocator_traits 等可选嵌套类型?

    分配器可以选择具有嵌套类型 例如pointer const pointer 但人们总是可以使用这些接口std allocator traits
  • 如何在 Razor 视图中使用 using 指令为类型设置别名?

    我需要为一个类型添加别名using指令 通常是这样完成的 using LocalResources Resources Admin SomeResource 我怎样才能在我的 Razor 视图中执行此操作 以便我可以像这样使用它 Local
  • Mac OS X 中的唯一硬件 ID

    Mac OS X 开发对我来说是一个相当新的领域 我正在移植一些软件 对于软件许可和注册 我需要能够生成某种硬件 ID 它不必是任何花哨的东西 以太网 MAC 地址 硬盘序列号 CPU 序列号等 我在 Windows 上已经了解了 但在 M
  • 获取 SQL Server 中的当前连接属性

    在 MS SQL Server 中 数据库属性 对话框的左侧有 查看连接属性 链接 单击该按钮将打开 连接属性 对话框 其中包含当前连接的属性 例如身份验证方法 网络协议 计算机名称等 有没有办法通过运行 sql 查询以编程方式获取该信息
  • 应用程序图标未设置,它始终显示默认的绿色 Android 图标

    我按照教程和其他堆栈溢出问题的建议执行了以下步骤 android icon mipmap ic launcher 在清单中 应用程序图标被命名为 ic launcher 并且所有 mipmap 都已根据分辨率进行了适当替换 将所有 mipm
  • 计算 Spark DataFrame 中非空值的数量

    我有一个包含一些列的数据框 在进行分析之前 我想了解数据框的完整性 所以我想过滤数据帧并计算每列非空值的数量 可能返回一个数据帧 基本上 我试图达到与中所表达的相同的结果这个问题 https stackoverflow com questi
  • Ada:从文件中读取

    我正在尝试读取一个包含单列的文件Long Float值在Ada如下 with Ada Text IO use Ada Text IO with Ada Long Float Text IO with Ada Sequential IO pr
  • 在编辑表单中管理状态并防止 Blazor 导航

    如果您的表单不干净 即数据已被编辑 您不希望允许用户离开表单 在 Blazor 表单中 编辑状态由EditContext很简单 将字段更改为新值 然后恢复为旧值 并且EditContext仍然相信这个领域已经发生了变化 您可以编写代码来禁用
  • Scrapy是单线程还是多线程?

    Scrapy 中的并发设置很少 例如CONCURRENT REQUESTS 数 http doc scrapy org en latest topics settings html concurrent requests 这是否意味着Scr
  • for循环中i++和++i之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的递增 何时使用 x 或 x https stackoverflow com questions 1812990 incrementing in c when to use x or x 有什么
  • MVC 中动态字段的验证

    我的模型看起来像 public class Template Id Title List
  • 计算 awk 中作为参数传递的算术表达式

    如何计算 awk 中作为参数传递的算术表达式 我在一个文件中有这个 1 2 3 1 2 3 当传入此文件时 awk 应该输出 6 7 awk 1 是错误的工具 因为它没有eval 功能 我建议将文件修改为输入bc 1 或使用 shell 算
  • Excel - 将日期从 yymmdd 转换为 dd/mm/yy

    我有一个从 Access 数据库导出的 Excel 文件 I have 25000记录 我需要更换所有记录 日期列未格式化 yymmdd 我需要将日期格式从 yymmdd 更改为 dd mm 19yy 为了yy我需要添加一个常量值19在它前
  • conemu + ssh 清除控制台历史记录

    我正在使用 ConEmu 并且对它完全满意 除了以下事实 如果我使用 PuTTY 进行 SSH 访问 那么我可以在远程计算机上运行命令 例如 vim 或 nano 或 mcedit 或其他打开某种诅咒界面的命令 并且我可以看到控制台命令历史
  • Slim PUT 返回 NULL

    我对 Slim 框架和 PUT 请求有疑问 我有一个小的 jQuery 脚本 它将在单击按钮时更新到期时间 expiry button click function event event preventDefault ajax url h
  • 将带有 .000Z 的日期字符串格式化为 NSDate

    我想将日期字符串格式化为 NSDate 对象 这听起来不是一件大事 要点是 日期字符串在时区值中包含一个点 而不是加号或其他内容 日期看起来像这样 2017 06 04T16 00 00 000Z 我尝试过格式化字符串 例如 yyyy MM
  • 从 Camel 路由向 Weblogic JMS 队列发送消息

    我正在尝试通过 Camel 路由将消息放入 Weblogic JMS 中的队列上 我的目标是最终配置一个路由来使用 jms 队列中的消息 我将先前路由中的数据发布到该队列 这是我的配置