问题标签 [ejb-jar.xml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
datasource - EJB - 动态数据源绑定
我们正在尝试在我们的应用程序中实现 Model-2 SaaS。
(有关什么是 Model-2,请参阅IBM Link。)
Model-2 为每个客户使用一个 EAR(应用程序)具有单独的数据库模式。
架构和数据源将根据登录客户(租户)动态变化
但是在我们的应用程序中。我们有 EJB(主要是无状态会话 bean)。
数据源名称映射到ejb-jar.xml
每个会话 bean,如下所示。
但是这种方式不可能实现SaaS的Model-2。有没有办法为 EJB 动态绑定数据源或任何解决方案,请建议?对于客户 1,它应该是jdbc/DB1
,对于客户 2,它应该是jdbc/DB2...etc.
我已经搜索过类似的问题,但我想要一个在 EJB 中的解决方案,而不是改变技术,请提出建议。
提前致谢
ejb-3.0 - 访问EJB 类中 ejb-jar.xml 的配置
我在 ejb-jar.xml 中部署了一个 EJB,我想访问
在 ejbCreate() 期间我的 EJB 类中的配置,即 Bean 或 Container,因为我必须将此值传递给我的框架以进行内部工作。
注意:我不想重复并为其已经存在的相同定义一个额外的 env-entry,我想使用它
java - ActivationConfigProperty userName 将被忽略,因为资源适配器不允许:hornetq-ra
这是我的ejb-jar.xml
:
我不明白为什么会收到此警告:
我也尝试过userName
,UserName
但我总是得到同样的警告。
我应该配置任何 ra.xml 文件吗?
谢谢你们的帮助。
备注:我使用 JBoss AS 7.2
jboss - 如何在 ejb-jar.xml 中为 JBoss 指定 MDB 目标名称
我正在尝试在 ejb-jar.xml 中配置 EJB 2.1 MDB。我的问题是没有明确的方法来指定 MDB 假设要收听的目标(队列名称)。我已经用尽了网络,但没有找到任何有用的信息。
所以在我的 ejb-jar.xml 中,我已经像这样配置了我的 DMB:
如何指定 MDB 应该监听的队列名称或 jndi 名称?
java - 消息驱动 Bean 和部署描述符
我有简单的消息驱动 Bean
如何仅使用部署描述符 ejb-jar.xml 而不是注释来实现相同的效果?我在编译时不知道队列的 JNDI 名称,所以我想在部署描述符中指定它。
events - 触发事件时,CDI 观察者尚未初始化
我有两个 SLSB:
BeanF
,BeanO
在两个 ejb-jar 中:
ModF
,ModO
.
BeanF
触发一个事件并BeanO
观察它。
第一个fire(-)
操作以异常结束(Wildfly 8.2):
错误 [org.jboss.as.ejb3.invocation] JBAS014134:组件 BeanF 上的 EJB 调用失败,用于方法 public void BeanF.publish(ModEvent):
javax.ejb.EJBException:org.jboss.msc.service.ServiceNotFoundException:服务服务
jboss .deployment.subunit."myapp.ear"."modO.jar".component.BeanO.VIEW."BeanO".LOCAL 未找到
进一步fire(-)
的操作到达观察者,但我不能让任何事件丢失。
有没有办法在事件被触发之前强制初始化观察者(或者在事件被触发并等待处理之后)?
@Observes(notifyObserver = Reception.IF_EXISTS)
唯一允许在观察者尚未准备好时静默跳过事件。
在我的情况下,BeanF
不能依赖,BeanO
因为ModO
必须ModF
在application.xml
.
是否可以使用 CDI 事件/侦听器,或者我需要使用 JMS?
jakarta-ee - 消息驱动 bean 错误 - java.lang.Object 不是接口
当我尝试创建另一个消息驱动 Bean 时,我遇到了一个奇怪的异常。我使用了项目中已有的标准配置,但我无法启动 EAR。我得到的例外 - java.lang.Object is not an interface,并没有真正的帮助。
MDB 实现片段
EJB 描述符
最好的部分是,已经存在的 Bean 的完全相同的实现没有造成任何麻烦。
java - CHKJ2800E:无法反映接口 com.sbc.ept.imagine.service.adsl.ejb.AdslLocal 或其超类型之一。检查类路径
目前我正在为 JAVA 应用程序工作。我刚刚在 RAD_9.1.1 中从 SVN 签出项目。当我将相关的 jars 添加到我的项目中时,我遇到了下面的类路径错误。
有没有人有这个问题的解决方案?
已抛出近 300 多个错误,我无法解决问题。
CHKJ2800E:无法反映接口 com.sbc.ept.imagine.service.adsl.ejb.AdslLocal 或其超类型之一。检查类路径。ejb-jar.xml /ImagineService/ejbModule/META-INF
jakarta-ee - 在 GlassFish 4.0 中部署期间修改 ejb-jar.xml 的配置属性
我有一个 ejb-jar.xml,其中包含我的一个 MDB 的配置信息。里面有一个配置:
当我的项目被构建和打包然后分发给用户时,我需要能够确保这个值可以被修改,因为用户有不同的服务器地址。
目前我可以选择在属性文件中设置地址。无论如何,我可以在 glassfish 4.0 上部署期间使用属性值修改此 xml 吗?
如果不是,我每次有人想要应用程序并重新构建它时都必须设置值吗?
我愿意将配置放在我只需要动态的地方,以便用户可以在属性文件中设置服务器地址。
java - Websphere 85 ejb 3 部署问题
我正在尝试在 websphere 8 上部署一个 ejb 3 的 bean。bean 实现位于 src/main/java 中,而 ejb-jar.xml 位于 src/main/resources/META-INF 中。这被打包在一个 jar 中,并且该 jar 包含在 ear 中,它还有其他带有 ejb 2 的 ejb jar。所以 ear 包含 ejb 2 和 ejb 3 jar。在 websphere 中部署此耳朵期间,我收到以下错误:
org.eclipse.emf.common.util.WrappedException:org.xml.sax.SAXParseException:cvc-elt.1:找不到元素“ejb-jar”的声明。
如果我从 ejb 3 jar 中删除 ejb-jar.xml,则部署成功。如果我部署只包含 ejb 3 jar 的耳朵,它是成功的。如果我直接从 ibm 控制台部署 ejb 3 jar,它将成功部署。
但是尝试部署包含 ejb 2 和 ejb 3 jar 的 ear 失败了。以下是完整的堆栈跟踪:
ejb-jar.xml
<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee" 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_0.xsd" version="3.0">
<description><![CDATA[]]></description>
<display-name></display-name>
<enterprise-beans>
<session id="">
<description><![CDATA[]]></description>
<ejb-name></ejb-name>
<env-entry>
<env-entry-name></env-entry-name>
<env-entry-type></env-entry-type>
<env-entry-value><![CDATA[]]></env-entry-value>
</env-entry>
我相信部署失败是因为 ear 同时拥有 ejb 2 和 ejb 2 jar。
对于如何解决这个问题,有任何的建议吗?