gunter zeilinger [https://community.jboss.org/people/gunterze] created the discussion
"injecting env-entry into interceptor by @Resource does not work" To view the discussion, visit: https://community.jboss.org/message/744771#744771 -------------------------------------------------------------- I use an Interceptor to initialize a POJO Service deployed as EJB Singleton: public class LdapDicomConfigurationInterceptor { @Resource(name="ldapURL") String ldapURL; @Resource(name="userDN") String userDN; @Resource(name="password") String password; @Resource(name="baseDN") String baseDN; @PostConstruct void init(InvocationContext ctx) { LdapDicomConfiguration dc = (LdapDicomConfiguration) ctx.getTarget(); LdapEnv env = new LdapEnv(); env.setUrl(ldapURL); env.setUserDN(userDN); env.setPassword(password); try { dc.init(env, baseDN); } catch (Exception e) { throw new RuntimeException(e); } } @PreDestroy void close(InvocationContext ctx) { LdapDicomConfiguration dc = (LdapDicomConfiguration) ctx.getTarget(); dc.close(); } } ejb-jar.xml: <ejb-jar xmlns=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd" version="3.1"> <enterprise-beans> <session> <ejb-name>DicomConfiguration</ejb-name> <ejb-class>org.dcm4che.conf.ldap.LdapDicomConfiguration</ejb-class> <session-type>Singleton</session-type> <init-on-startup>true</init-on-startup> </session> </enterprise-beans> <interceptors> <interceptor> <interceptor-class>org.dcm4chee.conf.ldap.LdapDicomConfigurationInterceptor</interceptor-class> <env-entry> <env-entry-name>ldapURL</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>ldap://localhost:389</env-entry-value> </env-entry> <env-entry> <env-entry-name>userDN</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>cn=admin,dc=nodomain</env-entry-value> </env-entry> <env-entry> <env-entry-name>password</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>admin</env-entry-value> </env-entry> <env-entry> <env-entry-name>baseDN</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>dc=nodomain</env-entry-value> </env-entry> </interceptor> </interceptors> <assembly-descriptor> <container-transaction> <method> <ejb-name>DicomConfiguration</ejb-name> <method-name>*</method-name> </method> <trans-attribute>NotSupported</trans-attribute> </container-transaction> <interceptor-binding> <ejb-name>DicomConfiguration</ejb-name> <interceptor-class>org.dcm4chee.conf.ldap.LdapDicomConfigurationInterceptor</interceptor-class> </interceptor-binding> </assembly-descriptor> </ejb-jar> But LdapDicomConfigurationInterceptor fields does not get injected. Specifiying injection fields in ejb-jar.xml by <env-entry> <env-entry-name>password</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>admin</env-entry-value> + <injection-target>+ + <injection-target-class>org.dcm4chee.conf.ldap.LdapDicomConfigurationInterceptor</injection-target-class>+ + <injection-target-name>password</injection-target-name>+ + </injection-target>+ </env-entry> instead of @Resource works. AS: jboss-as-7.1.1.Final JAVA: OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode OS: Linux amd64 3.3.7-1-ARCH -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/744771#744771] Start a new discussion in EJB3 at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2029]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
