- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我觉得这应该很容易。只需 RTM 即可开始。但我找不到我需要的信息。
问:我可以在部署时更改 @ActivationConfigProperty
的值,而无需编写任何 XML 吗?
我有一个使用 @MessageDriven
注释的 MDB。其中有许多配置它的 @ActivationConfigProperty
注释。
@MessageDriven(mappedName = "jms/TestJeremyTopic ", activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),
@ActivationConfigProperty(propertyName = "clientId", propertyValue = "TopicReaderBeanClientId"),
@ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "TopicReaderBeanSubscriptionName")
})
public class TopicReaderBean implements MessageListener { // ...
我需要多次部署此 MDB,每次都引用不同的主题。
在部署时(WebSphere 7 ND),我能够为每个 EAR 配置不同的 TopicListenerPort
(WebSphere 映射到不同主题的方式)。但是,当我尝试启动第二个实例时,它失败并出现错误:
WMSG0019E: Unable to start MDB Listener TopicReaderBean, JMSDestination jms/MMiSInLonTopic : com.ibm.msg.client.jms.DetailedIllegalStateException: JMSWMQ0026: Failed to subscribe to topic 'MMIS_LON_IN' using MQSUB. There may have been a problem creating the subscription due to it being used by another message consumer. Make sure any message consumers using this subscription are closed before trying to create a new subscription under the same name. Please see the linked exception for more information. Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2429' ('MQRC_SUBSCRIPTION_IN_USE').
当我查看 MQ Explorer 时,我可以看到订阅名称是 JMS:GGWKNNG5:gmm_poc_06:TopicReaderBeanSubscriptionName
这是由“JMS”、QueueManager 名称、主题连接工厂 ID 和 ActivationConfigProperty 组成的“订阅名称”。由于此订阅名称冲突,第二个连接失败。我需要区分不同 MDB 实例使用的订阅名称。
虽然我可以为每个 bean 创建一个新的主题连接工厂,但这需要大量工作并且没有多大意义。
有意义的是每个 bean 具有不同的订阅名称。然而,这个属性被融入到注释中,我在 WebSphere 中看不到任何允许我覆盖它的地方。
那么,我可以重写此属性而不必编写 XML 部署描述符吗?如果我确实需要编写一些 XML,我该如何覆盖其中的属性?
最佳答案
我编写了一个可以在构建时修改的 ejb-jar.xml
配置来代替任何部署时解决方案。内容如下:
<?xml version="1.0"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
version="3.1">
<enterprise-beans>
<message-driven id="MySpecialMDB">
<display-name>MySpecialMDB</display-name>
<ejb-name>TopicReaderBean</ejb-name>
<ejb-class>my.TopicReaderBean</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Topic</message-destination-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Topic</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>subscriptionDurability</activation-config-property-name>
<activation-config-property-value>Durable</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>subscriptionName</activation-config-property-name>
<activation-config-property-value>${subscriptionName}</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
</ejb-jar>
关于java - 更改部署时读取 MDB 的主题的激活配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4858781/
我想得到专家的建议,我试图找到解决问题的方法,很遗憾没有找到。我正在使用以下内容 对比 2010 .NET 4.0 Windows 窗体 OLEDB, .mdb 用于存储数据库 我已经制作了 Wind
我们开发了一个合并函数,它将被其他进程使用,并希望将该函数定位在其自己的 MDB(称为“远程”)中,以便在需要时可以从“caller.mdb”中引用和调用它。该函数旨在返回一个数组,并且在从“远程”中
我正在用 C# 创建一个窗口应用程序,并考虑在 MS-Access 的 mdb 文件上设置一个密码,这样除了我的窗口应用程序或谁知道该文件的密码之外,没有人可以打开该文件。 我设法使该文件受到密码保护
我正在尝试从一个 Access 数据库文件中获取表格,将它们添加到另一个结构完全相同但信息不同的 Access 数据库文件中。我需要覆盖任何现有的表。我几乎完成了我的项目,这是我最后的砖墙。 我正在使
Access .MDB 文件有大小上限吗?例如,连接到超过 1GB 的 .MDB 文件的应用程序会出现问题吗? 超过 1GB 的 MDB 文件存在哪些问题/风险以及可以采取哪些措施? 最佳答案 是的。
最近我遇到了我创建的 C# 程序抛出异常 Could not find file C:\windows\system32\qbcdb.mdb 的问题。这很奇怪,因为我以前在通过 Advanced In
我有一个非常旧的 Access 97 应用程序,需要进行现代化改造。我想做一些更现代的东西,但是将整个应用程序重写为真正的 winapp(或 webapp)可能会有点贵。所以现在的想法是升级到 Acc
我目前正在开发一个在 GlassFish 上运行的基于 EJB 3.1 的项目,该项目使用自定义构建的框架来配置任何 SessionBeans 的功能。使用它,我们可以在运行时启用、禁用和重新配置大多
当我运行mdb-export时,该程序将以逗号分隔的表转储到终端,但据我所知,并没有创建csv文件。 mdb-export是在某处创建csv文件还是此转储具有其预期功能?如果是后者,那么如何将输出输出
我有一个使用容器管理事务的 MDB(我的容器是 IBM Websphere 7)。 Websphere 正在使用全局 (JTA) 事务。 如果我的 MDB 线程启动一个工作线程,并且该线程开始一个事务
我们有一个应用程序,它读取 JMS 并执行一些数据库事务,所有这些都是 XA 事务的一部分。如果我们发现消息有问题,我们想要回滚数据库,但我们不希望 JMS 回滚让我们再次读取消息(如果先前已启动回滚
我有一个处理不同类型消息(对象消息)的 MDB。我想跟踪 MDB 收到的消息数量,并统计收到的消息的类型。 虽然我的 MDB 分布在多个 JVM 上,但我可以很好地跟踪各个 JVM 上的计数。 在 E
我有一个现有的网络项目。现在我收到添加 MDB EJB 项目的要求并执行了相同的操作。 EJB项目maven依赖web项目 所以到目前为止一切都很好。当我开始在我的 MDB 中使用 Web 项目中的一
我们可以控制 MDB 中的事务重试间隔吗?如果是这样,请提供示例或指导我查看文档。我们要为 MDB 事务设置 3 分钟的时间间隔。期望是,如果查询第一次失败,则它会在 3 分钟后重试。 最佳答案 维拉
我在独立环境中使用 Spring3.1。 我用 jms 模板设置主题是这样的: /topic/mm1sessionsTopic 对于本主题,我通过以下方式设置
有没有办法加快插入 mdb 的速度? using (StreamReader sr = new StreamReader(_localDir + "\\" + _filename)) while
我在我的应用程序中使用 EJB MDB 3.0 和 WAS 7 服务器。我有 7 个 MDB,因此在 WAS 服务器上创建了 7 个队列和 7 个激活规范。我已将所有 7 个激活规范 maxPoolD
我们实现了 MDB,它可以并行处理用户输入和处理。我们对用户数据进行限制检查(例如用户可以拥有的电话号码数量)。 我面临的问题是两个不同的线程获取相同用户的数据并进行处理。第一个线程很好,它检查限制并
我当前的生产 MDB 运行在版本 WAS 6.1 的 AS/400 上。 QA 环境没有为 MDB 设置,所以我正在设置,我在消息队列中插入一条消息并设置 MDB 以获取消息并处理消息,但 MDB L
我正在使用 JBOSS 5.1.2 MDB 来使用放置在队列上的实体消息。消息生产者可以为同一实体产生多条消息。这些消息实体由它们的实体号定义。 (msg_entity_no) 仅当实体不存在时,我才
我是一名优秀的程序员,十分优秀!