@ConnectionFactoryDe​​finition(在WildFly中)有什么问题,我该怎么用呢?

时间:2016-12-02 08:18:46

标签: java java-ee jboss wildfly jca

在我的开发设置中,我为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

  

因为@ConnectionFactoryDe​​finition是一个破碎的概念,并且仅用于开发。 JCA容器的所有设置都不会/不能公开,因此它在管理视图中也受到限制(使用:资源适配器:代替)。

     

不要将@ConnectionFactoryDe​​finition用于生产环境!你被警告了

不幸的是,除了“它是一个破碎的概念”之外,它没有解释问题(或者我不理解它),我找不到更详细的解释可能存在的问题以及如何正确创建JCA连接工厂改为。

1 个答案:

答案 0 :(得分:1)

我犹豫了片刻,甚至没有将其作为答案,因为我觉得答案似乎应该用非常明确的细节来明确地回答问题,而我无法给出。我所能提供的是对那些偶然发现JBoss而不喜欢ConnectionFactoryDefinition注释的其他人的一些细微见解。

似乎(至少在我个人经历过的JBoss 8 Wildfly中),JBoss实际上甚至在使用ResourceAdapter注释时也会阻止ConnectionFactoryDefinition启动。结果,rar将“成功”部署,随后部署的依赖于入站JCA的类似注释驱动的EJB(即MessageDrivenActivationConfigProperty)将在EAR部署期间开始失败。 ear_name#rar_name不可用。

与问题的最后一点有关

  

以及如何正确创建JCA连接工厂

我终于通过反复试验取得了突破,使用ra.xml和ironjacamar.xml定义了ConnectionFactoryDefinitionConnection和{{1}的注释中另外指定的信息}。将信息转录到相应区域中的那些文件后,我得以重新启动ConnectionDefinition

我希望我能提供更多的信息,但是我对于为什么JBoss也要限制该注释感到困惑。我希望至少这能使其他人朝着正确的方向发展,并且他们不会浪费我花在弄清楚JBoss不喜欢的注释而不是您的代码上的时间。