Results 1 to 2 of 2

Thread: problem with <jee:local-slsb> & <jee:remote-slsb>

  1. #1
    Join Date
    Sep 2011
    Posts
    25

    Default problem with <jee:local-slsb> & <jee:remote-slsb>

    I wrote a test EJb3 ear project to run on Jboss 6.
    I can't understand why <jee:xxxxxx-slsb> not work, could someone tell my how to resolve this problem?
    My application-context.xml is
    Code:
    <beans xmlns="http://www.springframework.org/schema/beans"
        ...>
        <jee:local-slsb id="storeLocal" jndi-name="StoreBean/local" business-interface="ejb3.bean.StoreLocal" resource-ref="false" 
            lookup-home-on-startup="true"/>
        <jee:remote-slsb id="sotreRemote" jndi-name="StoreBean/remote" business-interface="ejb3.bean.StoreRemote" resource-ref="false" 
            lookup-home-on-startup="true">
            <jee:environment>
                java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
                java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
                java.naming.provider.url=jnp://localhost:1399
            </jee:environment>
        </jee:remote-slsb>
    and it's my controller code
    Code:
    @Controller
    public class StoreController implements InitializingBean {
        private static Logger logger = LoggerFactory.getLogger(StoreController.class);
        @Autowired(required = false)
        @Qualifier("storeLocal")
        private StoreLocal storeLocal;
        @Autowired(required = false)
        @Qualifier("sotreRemote")
        private StoreRemote storeRemote;
    
        public void afterPropertiesSet() throws IllegalArgumentException, NamingException {
            logger.info("********************Autowired Local:{}:", storeLocal);
            if (storeLocal == null) {
                LocalStatelessSessionProxyFactoryBean lslsb = new LocalStatelessSessionProxyFactoryBean();
                lslsb.setBusinessInterface(StoreLocal.class);
                lslsb.setJndiName("StoreBean/local");
                lslsb.setResourceRef(false);
                lslsb.setLookupHomeOnStartup(true);
                lslsb.afterPropertiesSet();
                storeLocal = (StoreLocal) lslsb.getObject();
                logger.info("********************setupLocal:{}:", storeLocal);
            }
            logger.info("********************Autowired Remote:{}:", storeRemote);
            if (storeRemote == null) {
                SimpleRemoteStatelessSessionProxyFactoryBean sslsb = new SimpleRemoteStatelessSessionProxyFactoryBean();
                sslsb.setBusinessInterface(StoreRemote.class);
                sslsb.setJndiName("StoreBean/remote");
                sslsb.setLookupHomeOnStartup(true);
                sslsb.setResourceRef(false);
                Properties jndienv = new Properties();
                jndienv.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
                jndienv.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
                jndienv.put("java.naming.provider.url", "jnp://localhost:1099");
                sslsb.setJndiEnvironment(jndienv);
                sslsb.afterPropertiesSet();
                storeRemote = (StoreRemote) sslsb.getObject();
                logger.info("********************setup Remote:{}:", storeRemote);
            }
            logger.info("************************************");
        }
        ...
    }
    and output is
    Code:
    17:13:42,486 INFO  [STDOUT] 2012-06-13 17:13:42,486 [HDScanner] INFO  e.c.StoreController.afterPropertiesSet[38] - *****
    ***************Autowired Local:null:
    17:13:42,517 INFO  [STDOUT]
    17:13:42,548 INFO  [STDOUT] 2012-06-13 17:13:42,548 [HDScanner] INFO  e.c.StoreController.afterPropertiesSet[47] - *****
    ***************setup Local:Proxy to jboss.j2ee:jar=Ejb3-ejb-1.0-SNAPSHOT.jar,name=StoreBean,service=EJB3 implementing [in
    terface ejb3.bean.StoreLocal]:
    17:13:42,564 INFO  [STDOUT]
    17:13:42,580 INFO  [STDOUT] 2012-06-13 17:13:42,580 [HDScanner] INFO  e.c.StoreController.afterPropertiesSet[49] - *****
    ***************Autowired Remote:null:
    17:13:42,595 INFO  [STDOUT]
    17:13:42,736 INFO  [STDOUT] 2012-06-13 17:13:42,736 [HDScanner] INFO  e.c.StoreController.afterPropertiesSet[63] - *****
    ***************setup Remote:Proxy to jboss.j2ee:jar=Ejb3-ejb-1.0-SNAPSHOT.jar,name=StoreBean,service=EJB3 implementing [i
    nterface ejb3.bean.StoreRemote]:
    17:13:42,751 INFO  [STDOUT]
    17:13:42,767 INFO  [STDOUT] 2012-06-13 17:13:42,767 [HDScanner] INFO  e.c.StoreController.afterPropertiesSet[65] - *****
    *******************************
    Thnak you.

  2. #2
    Join Date
    Jun 2006
    Location
    The Netherlands
    Posts
    13,629

    Default

    Enable debug logging and figure out why the beans aren't there. Make sure your EJBs are deployed also make sure that your xml file is loaded (I would have expected an exception if the lookup fails).
    Marten Deinum
    Java Consultant / Pragmatist / Open Source Enthousiast / Author


    Pro Spring MVC: With Web Flow
    Conspect

    Have you read the reference guide.
    Use the [ code ] tags, young padawan

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •