jboss 6.4.12 的新 missing/unsatisfied 依赖项

new missing/unsatisfied dependencies for jboss 6.4.12

我正在使用 gradle 在本地部署。

获取新的 missing/unsatisfied 对我的 jndi 查找名称的依赖:

JBAS014775: New missing/unsatisfied dependencies: service jboss.naming.context.java.comp.min.comp-alert-manager.EmailAlertHandler.env."${min.email.jndi.lookup.binding}" (missing) dependents: [service jboss.naming.context.java.comp.min.comp-alert-manager.EmailAlertHandler.env."com.comp.alert.EmailAlertHandler".session]

其中 min.email.jndi.lookup.binding 用于 EmailAlertHandler.java:

@Resource(mappedName = "${min.email.jndi.lookup.binding}")
    private Session session;

local.build.properties:

min.email.jndi.lookup.binding=java:/jboss/mail/Default
jboss.profile=default
jboss.server.groups=other-server-group
jboss.servers=localhost/server-three

domain.xml 中的邮件子系统:

<subsystem xmlns="urn:jboss:domain:mail:1.2">
      <mail-session name="default" jndi-name="java:jboss/mail/Default">
            <smtp-server outbound-socket-binding-ref="mail-smtp"/>
      </mail-session>
</subsystem>

domain.xml 中的出站套接字绑定:

<outbound-socket-binding name="mail-smtp">
      <remote-destination host="smtp.comp.com" port="25"/>
</outbound-socket-binding>

我的 jboss 控制台也显示正确的 jndi 名称

我认为问题出在我的本地 JBoss EAP 6.4.12 上。同事能够在本地部署而不会出现此错误。可能是我的 host.xml 或 domain.xml 中的内容。我注意到我同事的服务器组有一个完整的 ha 配置文件,而不是他的 jboss6 的默认配置文件。所以我确实尝试将我的更改为那个并将 full-ha 配置文件 xml 块添加到我的 domain.xml 但这没有用。

在我的 domain.xml 中,每个 profile 包含的 annotation-property-replacement 标签(我使用的是 default jboss 配置文件)需要从falsetrue 因为我的 Session 对象正在通过 Resource 注释映射到 min.email.jndi.lookup.binding

<annotation-property-replacement>true</annotation-property-replacement>