如何在编译时指定资源注释的名称?

2024-02-13

我们的代码是这样的:

@Resource(name = "java:comp/resource/foo/bar/ONE_QUEUE")
private Queue queue;

但是,在一种部署场景中,队列注释应如下所示:

@Resource(name = "java:comp/resource/foo/bar/SECOND_QUEUE")
private Queue queue;

我想选择与 Maven 构建配置文件一起使用的名称。

我有什么选择?


这不是正确的做事方式。资源应添加到本地 jndi 名称各个 EJB 的数量。这是为了将bean代码中使用的jndi名称与全局 jndi 绑定由 bean 部署者设置。 bean 的映射本地 jndi 绑定全局绑定可以通过以下方式处理ejb-jar.xml和应用程序服务器特定的部署描述符。

因此,您应该声明您的@Resource(这相当于<resource-ref>指示资源引用名称和类型的元素)如下所示:

@Resource(name = "jms/queue/aQueue")
private Queue queue;

然后,在特定于应用程序服务器的部署描述符中(对于 GlassFish,它是sun-ejb-jar.xml,对于 JBoss 来说是jboss.xml,对于 WebLogic 来说是weblogic-ejb-jar.xml等),声明一个<resource-ref>元素指示资源引用名称和全局 jndi 绑定<jndi-name>元素。

<resource-ref>
  <res-ref-name>jms/queue/aQueue</res-ref-name>
  <jndi-name>resource/foo/bar/ONE_QUEUE</jndi-name>
</resource-ref>

一旦你让整个事情正常工作,就可以很容易地使用 Maven 通过配置文件和过滤来针对不同的环境来改变这个特定于应用程序服务器的部署描述符。只需使用属性,激活资源过滤,并在配置文件中设置不同的值。像这样的东西:

<resource-ref>
  <res-ref-name>jms/queue/aQueue</res-ref-name>
  <jndi-name>${my.jndi.name}</jndi-name>
</resource-ref>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在编译时指定资源注释的名称? 的相关文章

随机推荐

  • 在 vim 中重新格式化以获得漂亮的列布局

    我在 csv 文件中有这个数据集 1 33570301776 3 61194e 06 7 24503e 06 9 91572e 06 1 25098e 05 0 0102828 0 010352 0 0102677 0 0103789 0
  • 如何使用rand函数生成特定范围内的数字?

    我想在特定范围内生成随机数 例如 选择 18 到 35 之间的随机数 我怎样才能做到这一点rand 功能 根据您使用的语言 内置随机数生成器可能会 已经具备这种能力 多做一些研究 假设您的随机数生成器始终返回数字 在某个给定的范围内 只是为
  • 如何获取GCE实例的内部IP地址列表

    我有很多实例在 GCE 中运行 我想以编程方式获取它们的内部 IP 地址列表 而无需登录到实例 本地 我知道我可以运行 gcloud compute instances list 但是我可以传递任何标志来获取我想要的信息吗 例如 gclou
  • MvvmCross 4 和 WPF SQLite 插件

    在 MvvmCross 4 0 0 中 社区 SQLite 插件已被新的 SQLite PCL 插件替换 如果我没记错的话 它在我的 Android 应用程序中运行得很好 但是当我尝试在 WPF 应用程序中使用它时 我遇到了问题 从 nug
  • SQL Server 条件 CHECK 约束

    我正在使用 SQL Server 2008 Management Studio 以下是我必须写的内容 我对第二个约束有一些困难 这让我有点困惑 我真的很感激一些帮助 编写一条 ALTER TABLE 语句 向 AP 数据库的 Invoice
  • 打字稿中的 Object.freeze / Object.seal

    Is Object freezeTypescript 中建议的还是有其他方法来确保对象保持不可变 Since const仅保护实例 但不保护属性 这显然不是我正在寻找的答案 还有其他方法可以确保对象保持不可变吗 这取决于您想要的保险级别 如
  • Android - 应用内购买 - 您需要将 BILLING 权限添加到您的 APK

    长期以来 我一直面临应用内购买问题 我需要在 Android 应用程序中集成应用内功能 但是当我将 APK 文件上传到 Play 商店时 它不允许我添加 SKU 值 要添加应用内商品 您需要向您的 APK 添加 BILLING 权限我已在清
  • 在Java中组合多个声音流

    我有许多用 PCM PCM SIGNED 8000 0 Hz 16 位 单声道 2 字节 帧 小端 编码的语音声音流 我想通过网络发送它们 为了节省带宽 我目前使用 JSpeex 对流进行编码 然而 为了节省更多带宽 我想 如果可能 在使用
  • Jquery UI范围滑块对鼠标移动的滞后响应

    我正在使用 JQuery UI 范围滑块 我的滑块手柄似乎不能随光标平滑移动 而是滞后 我将 class styloot 与我的 body 标签一起使用 我发现从我的 html 结构中的 body 标记中删除此类可以使滑块移动变得平滑 尽管
  • 使用 Swing 和 Netbeans GUI 编辑器保存文件/打开文件对话框

    我是 Java 初学者 我正在 netbeans 7 3 IDE 中使用其 GUI 编辑器制作一个简单的文本编辑器 我面临的主要问题是我无法保存 打开文件 我创建了 保存 按钮 当我放下文件选择器时 它作为嵌入在 java 窗口中的普通打开
  • 是否可以将远程文件从 Electron App 拖到文件系统上?

    我一直在尝试 Electron 应用程序的文件系统拖放功能 并且在使用本地文件进行所有操作时没有遇到任何问题 我在文档中没有遇到任何内容 所以我想看看是否有人知道这是否可能 我想使用 Electron 中的拖出功能将远程文件拖到应用程序之外
  • 当移动的 div 到达特定区域时将 CSS 应用到它。用于移动元件的静态放大镜

    我偶然发现了创建一个非常具体的元素的问题 我有一个显示不同内容的股票代码 文本 图像和其他类型的内容 我想要做的是添加一个静态 放大镜 以便所有移动内容在放大镜区域时都会缩放 我看到的大多数 jquery 缩放或放大插件从未使用固定位置 而
  • 通过 BLE 上的 ANT+FEC 将用户体重发送到智能训练器

    有谁知道如何将室内智能训练器的用户体重设置发送到 DataPage 55 我想更新用户体重 以使成绩模拟更加真实 我已成功发送成绩 数据页 51 并且对用户体重实施相同的格式似乎没有任何作用 func sendUserConfig peri
  • 带有弧形尖底的头部

    我需要创建下图所示的蓝 绿色区域 它有倾斜的侧面 向下延伸至有轻微弯曲的点 使用什么是实现此目的的最佳方法CSS 如果无法支持 IE9 我需要支持 IE9 或 IE10 我已经开始了基础的演示在这里 http jsbin com quxoh
  • 新的关键字和方法隐藏

    new 关键字用于隐藏相同的基类实现 但我不确定为什么以下代码会生成 Baseclass 输出 class Baseclass public void fun Console Write Base class class Derived1
  • 在 Go 中解析 XML 时处理命名空间

    我正在尝试在 Go 中解析 XML 片段 package main import encoding xml fmt type XML struct Foo string xml foo func main rawXML byte
  • 如何给出 DateTime.Date 格式?

    日期时间 dt 日期时间 Now dt Date 创建为 31 10 2012 00 00 00 它创建为 dd mm yyyy 格式 但我需要 dd mm yyyy 我可以使用 return new DateTime d Year d M
  • 如何在两个 nib 文件之间共享 NSArrayController?

    我有一组图像和两个 nib 文件 一个 nib 文件有一个窗口 在 NSTableView 中显示图像 另一个笔尖有一个窗口 可将图像数组绘制到 NSView 中 并在选定的图像上绘制突出显示 图像数组由 NSArrayController
  • 如何将 ascii 值字符串转换为 python 中的原始字符/数字

    我有一个带有数字的字符串 我之前用编码器转换了它 但现在我正在尝试解码它 我四处搜索 似乎没有答案 如果你有任何办法 亲爱的 请告诉我 字符串 91 39 65 97 66 98 67 99 32 49 50 51 39 93 结果 ABC
  • 如何在编译时指定资源注释的名称?

    我们的代码是这样的 Resource name java comp resource foo bar ONE QUEUE private Queue queue 但是 在一种部署场景中 队列注释应如下所示 Resource name jav