[JBoss JIRA] Created: (EJBTHREE-665) @PostConstruct throws NPE when EntityManager is used
by Steven Verze (JIRA)
@PostConstruct throws NPE when EntityManager is used
----------------------------------------------------
Key: EJBTHREE-665
URL: http://jira.jboss.com/jira/browse/EJBTHREE-665
Project: EJB 3.0
Issue Type: Bug
Components: EJB3 Extensions
Affects Versions: EJB 3.0 RC8 - FD
Environment: Windows XP, JBoss 4.0.4.GA + EJB-3.0-RC8
Reporter: Steven Verze
@PostConstruct method throws NPE when called on a stateless session bean.
The method iteself accesses the enetity manager and tries create a query, the following exception is experienced:
java.lang.RuntimeException: java.lang.NullPointerException
at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:109)
at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:582)
at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:108)
at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:48)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:227)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
Caused by: java.lang.NullPointerException
at org.jboss.ejb3.entity.ManagedEntityManagerFactory.getNonTxEntityManager(ManagedEntityManagerFactory.java:58)
at org.jboss.ejb3.entity.ManagedEntityManagerFactory.getTransactionScopedEntityManager(ManagedEntityManagerFactory.java:163)
at org.jboss.ejb3.entity.TransactionScopedEntityManager.createQuery(TransactionScopedEntityManager.java:125)
at com.teleglobal.modules.snapaccount.services.SnapAccountSendProcessServiceBean.initialiseSpendCardQuery(SnapAccountSendProcessServiceBean.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.proceed(LifecycleInvocationContextImpl.java:159)
at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:105)
at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:582)
at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:108)
at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:48)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:227)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:190)
at org.jboss.remoting.Client.invoke(Client.java:525)
at org.jboss.remoting.Client.invoke(Client.java:488)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
at $Proxy3.getBatchNumbers(Unknown Source)
at com.teleglobal.modules.snapaccount.services.SnapAccountSendProcessServiceTest.testGetBatchNumbers(SnapAccountSendProcessServiceTest.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Here is a the post construct method:
@PostConstruct
void initialiseSpendCardQuery()
{
StringBuilder sendCardQueryString = new StringBuilder();
sendCardQueryString.append("SELECT c FROM Card AS c WHERE c.status = 'U' AND c.batchNumber IN (");
long[] batchNumbers = getBatchNumbers();
for (int i = 0; i < batchNumbers.length; i++)
{
sendCardQueryString.append("?").append(i);
if (i+1 < batchNumbers.length)
sendCardQueryString.append(",");
}
sendCardQueryString.append(") AND c NOT IN (SELECT lc.sendCard FROM SendCardLock AS lc)");
sendCardQuery = entityManager.createQuery(sendCardQueryString.toString());
for (int i = 0; i < batchNumbers.length; i++)
sendCardQuery.setParameter(i, batchNumbers[i]);
}
It happens when the entityManager is used.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] Created: (EJBTHREE-789) build.xml and component-info.xml - version numbers and imports need to be updated
by Vladimir Ralev (JIRA)
build.xml and component-info.xml - version numbers and imports need to be updated
---------------------------------------------------------------------------------
Key: EJBTHREE-789
URL: http://jira.jboss.com/jira/browse/EJBTHREE-789
Project: EJB 3.0
Issue Type: Bug
Affects Versions: EJB 3.0 RC9 - FD
Reporter: Vladimir Ralev
Priority: Critical
The repository-zip target's comp-version, like this (use appropriate version string):
<target name="repository-zip" depends="jars"
description="Create the repository.jboss.com jboss/ejb3 component contents">
<!-- The binary component version -->
<property name="comp-version" value="1.0.0.CR9-jboss4.0.5" />
<!-- Pack the ejb3.deployer -->
<zip destfile="${build.lib}/ejb3-deployer.zip">
<zipfileset dir="${build.lib}">
<include name="ejb3.deployer/**" />
</zipfileset>
</zip>
<!-- Create a zip file with the component structure -->
<zip destfile="${build.lib}/jboss-ejb3-repo.zip">
<!-- The component-info.xml -->
<zipfileset dir="${build.etc}" prefix="${comp-version}">
<include name="component-info.xml" />
</zipfileset>
<!-- The bin/ejb3.deployer -->
<zipfileset dir="${build.lib}" fullpath="${comp-version}/bin/ejb3.deployer">
<include name="ejb3-deployer.zip" />
</zipfileset>
<!-- The lib client jars -->
<zipfileset dir="${build.lib}" prefix="${comp-version}/lib">
<include name="hibernate-client.jar" />
<include name="jboss-ejb3-client.jar" />
</zipfileset>
<!-- The resources deploy descriptors -->
<zipfileset dir="${build.lib}" prefix="${comp-version}/resources">
<include name="ejb3-clustered-sfsbcache-service.xml" />
<include name="ejb3-entity-cache-service.xml" />
<include name="ejb3-interceptors-aop.xml" />
</zipfileset>
</zip>
</target>
and ejb3\src\etc\component-info.xml (the version attribute):
<project name="jboss/ejb3-component-info">
<component id="jboss/ejb3"
licenseType="lgpl"
version="1.0.0.CR9-jboss4.0.5"
description="The EJB3 deployer for integration with jboss-4.0.x">
<artifact id="ejb3-clustered-sfsbcache-service.xml"/>
<artifact id="ejb3-entity-cache-service.xml"/>
<artifact id="ejb3-interceptors-aop.xml"/>
<artifact id="ejb3.deployer" />
<artifact id="hibernate-client.jar"/>
<artifact id="jboss-ejb3-client.jar"/>
<import componentref="javassist">
<compatible version="3.2.0.CR1"/>
<compatible version="3.2.0.CR2"/>
</import>
<import componentref="hibernate-annotations">
<compatible version="3.2.0.GA"/>
</import>
<import componentref="hibernate-entitymanager">
<compatible version="3.2.0.GA"/>
</import>
<import componentref="jboss/remoting">
<compatible version="1.4.1_final"/>
<compatible version="1.4.2.GA"/>
</import>
<import componentref="jboss/aop">
<compatible version="1.5.1.GA"/>
<compatible version="1.5.2.GA"/> <--------------- IS 1.5.2.GA COMPATIBLE?
</import>
<export>
<include input="hibernate-client.jar"/>
<include input="jboss-ejb3-client.jar"/>
</export>
</component>
</project>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] Created: (JBMICROCONT-118) Fix the introspection assumption in ClassInfo
by Adrian Brock (JIRA)
Fix the introspection assumption in ClassInfo
---------------------------------------------
Key: JBMICROCONT-118
URL: http://jira.jboss.com/jira/browse/JBMICROCONT-118
Project: JBoss MicroContainer
Issue Type: Task
Components: BeanInfo
Affects Versions: JBossMC_2_0_0 Beta
Reporter: Adrian Brock
Priority: Minor
Fix For: JBossMC_2_0_0_CR1
Although the javassist version of the ClassInfo works fine, there are still some places
in the base ClassInfoImpl that assume introspection (i.e. java.lang.reflect objects).
The javassist impl works around these issues by subclassing.
Additionally, the deprecated ClassInfo.getType() needs removing.
This will require understanding where it is currently used and fixing it
(I think it is mainly related to determining the classloader?)
Moving this method and its dependencies to the ReflectClassInfoImpl
Whether we actually remove the deprecated method is another issue
since it is useful to temporarily fix problems (in future) where we don't provide an equivalent
in the ClassInfo api.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] Created: (JBMICROCONT-130) Array part of the Javassist reflection implementation is broken
by Adrian Brock (JIRA)
Array part of the Javassist reflection implementation is broken
---------------------------------------------------------------
Key: JBMICROCONT-130
URL: http://jira.jboss.com/jira/browse/JBMICROCONT-130
Project: JBoss MicroContainer
Issue Type: Task
Components: BeanInfo
Affects Versions: JBossMC_2_0_0 Beta
Reporter: Adrian Brock
Javassist is returning wrong values for interfaces of arrays and modifiers of array classes.
These errors have been suppressed in org.jboss.test.classinfo.test.JavassistArrayUnitTestCase
by subclassling the tests to do nothing:
protected void assertInterfaces(Class<?> clazz, ClassInfo classInfo) throws Throwable
{
// TODO this is broken for javassist
}
protected void assertModifiers(Class<?> clazz, ClassInfo classInfo) throws Throwable
{
// TODO this is broken for javassist
}
This needs fixing in javassist
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months