在我的开发设置中,我为Wildfly 10部署了一个资源适配器。到目前为止似乎工作正常,但我收到了这样的警告:
14:57:44,007 WARN [org.jboss.as.connector.deployment]
(MSC service thread 1-2)
WFLYJCA0028: @ConnectionFactoryDefinition will have limited management:
java:comp/env/eis/TestRAConnectionFactory
在WFLYJCA0028
之后搜索我发现它used to be JBAS010427
并在此之后搜索,从2014年Jesper Pedersen提出this post:
因为@ConnectionFactoryDefinition是一个破碎的概念,并且仅用于开发。 JCA容器的所有设置都不会/不能公开,因此它在管理视图中也受到限制(使用:资源适配器:代替)。
不要将@ConnectionFactoryDefinition用于生产环境!你被警告了
不幸的是,除了“它是一个破碎的概念”之外,它没有解释问题(或者我不理解它),我找不到更详细的解释可能存在的问题以及如何正确创建JCA连接工厂改为。
答案 0 :(得分:1)
我犹豫了片刻,甚至没有将其作为答案,因为我觉得答案似乎应该用非常明确的细节来明确地回答问题,而我无法给出。我所能提供的是对那些偶然发现JBoss而不喜欢ConnectionFactoryDefinition
注释的其他人的一些细微见解。
似乎(至少在我个人经历过的JBoss 8 Wildfly中),JBoss实际上甚至在使用ResourceAdapter
注释时也会阻止ConnectionFactoryDefinition
启动。结果,rar将“成功”部署,随后部署的依赖于入站JCA的类似注释驱动的EJB(即MessageDriven,ActivationConfigProperty)将在EAR部署期间开始失败。 ear_name#rar_name不可用。
与问题的最后一点有关
以及如何正确创建JCA连接工厂
我终于通过反复试验取得了突破,使用ra.xml和ironjacamar.xml定义了ConnectionFactoryDefinition
,Connection
和{{1}的注释中另外指定的信息}。将信息转录到相应区域中的那些文件后,我得以重新启动ConnectionDefinition
。
我希望我能提供更多的信息,但是我对于为什么JBoss也要限制该注释感到困惑。我希望至少这能使其他人朝着正确的方向发展,并且他们不会浪费我花在弄清楚JBoss不喜欢的注释而不是您的代码上的时间。