[jboss-user] [JBoss/Spring Integration] - Re: Jboss 5 Beta 3 and Spring Deployer

ragavgomatam do-not-reply at jboss.com
Tue Jan 1 20:21:12 EST 2008


Thanks Ales...That explains it....So then I have my EAR file with ejb3.jar (ejb3 module)  and spring-inject.jar (spring module) and ejb3.war (web-module) .

I also have my ejb 3 as :- 

package com.ejb3.beans;
  | 
  | import static javax.ejb.TransactionAttributeType.REQUIRED;
  | 
  | import javax.ejb.Stateful;
  | import javax.ejb.TransactionAttribute;
  | import javax.ejb.EJB;
  | import javax.annotation.PostConstruct;
  | import javax.annotation.Resource;
  | import javax.interceptor.ExcludeDefaultInterceptors;
  | import javax.sql.DataSource;
  | import javax.annotation.PreDestroy;
  | 
  | import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
  | import org.jboss.annotation.spring.Spring;
  | 
  | import com.ejb3.domain.IPerson;
  | import com.ejb3.interfaces.Calculator;
  | import com.ejb3.interfaces.SayHello;
  | 
  | /**
  |  * @author Ragav
  |  * 
  |  */
  | 
  | @Stateful
  | @TransactionAttribute(REQUIRED)
  | @ExcludeDefaultInterceptors
  | public class SayHelloBean extends SimpleJdbcDaoSupport implements SayHello {
  | 
  | 	@Resource(name = "jdbc/TestDs", type = DataSource.class, shareable = true, mappedName = "java:jdbc/OracleDS")
  | 	private DataSource ds;
  | 
  | 	@EJB(beanName = "CalculatorBean")
  | 	private Calculator calculator;
  | 
  | 	@Resource(name = "sqlForEjb")
  | 	private String sql;
  | 
  | 	@Spring(jndiName = "spring-inject", bean = "person")
  | 	private IPerson p;
  | 
  | 	public String sayHelloWithEjb3DI() {
  | 		return "Testing ejb3 DI  & your age is "
  | 		+ getSimpleJdbcTemplate().queryForInt(sql);
  | 	}
  | 
  | 	public double calulate() {
  | 		return calculator.calculate(2, 3);
  | 	}
  | 
  | 	@PostConstruct
  | 	public void init() {
  | 		setDataSource(ds);
  | 	}
  | 
  | 	@PreDestroy
  | 	public void callThis() {
  | 		System.out.println("Invoking method: preDestroy()");
  | 	}
  | 
  | 	public IPerson getPerson() {
  | 		return this.p;
  | 	}
  | 
  | }
  | 


But it appears that annotation @Spring(jndiName = "spring-inject", bean = "person") does not work since the jndiName "spring-inject" is not bound.

This is the error I get : 

20:13:40,609 INFO  [DefaultListableBeanFactory] Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [/home,ejbLocalIntf]; root of BeanFactory hierarchy]
20:13:40,844 ERROR [STDERR] java.lang.RuntimeException: javax.naming.NameNotFoundException: spring-inject not bound
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.EJBContainer.construct(EJBContainer.java:727)
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.stateful.StatefulContainer.createBeanContext(StatefulContainer.java:103)
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.pool.AbstractPool.createBeanContext(AbstractPool.java:130)
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.pool.AbstractPool.create(AbstractPool.java:79)
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.InfinitePool.get(InfinitePool.java:56)
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.pool.ThreadlocalPool.create(ThreadlocalPool.java:58)
20:13:40,844 ERROR [STDERR]     at org.jboss.ejb3.pool.ThreadlocalPool.get(ThreadlocalPool.java:113)

If you see, it says that the name "spring-inject" (name of my spring archive within my EAR ) is not bound to jndi.

My application.xml is as follows :- 

<application xmlns="http://java.sun.com/xml/ns/javaee"
  | 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  | 	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  | 		http://java.sun.com/xml/ns/javaee/application_5.xsd"
  | 	version="5">
  | 	<description>Test ejb3 j2ee 5 application</description>
  | 	<display-name>Ejb3</display-name>
  | 	<module>
  | 		<web>
  | 			<web-uri>Ejb3.war</web-uri>
  | 			<context-root>ejb3</context-root>
  | 		</web>
  | 	</module>
  | 	<module>
  | 		<ejb>Ejb3.jar</ejb>
  | 	</module>
  | 	<module>
  | 		<java>spring-inject.jar</java>
  | 	</module>
  | </application>
  | 
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4116282#4116282

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4116282



More information about the jboss-user mailing list