[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
14 years, 3 months
[JBoss JIRA] Created: (EJBTHREE-977) table creation ignores exception
by Ariane van der Steldt (JIRA)
table creation ignores exception
--------------------------------
Key: EJBTHREE-977
URL: http://jira.jboss.com/jira/browse/EJBTHREE-977
Project: EJB 3.0
Issue Type: Bug
Components: EJB3 Extensions
Environment: Postgresql
Reporter: Ariane van der Steldt
Priority: Critical
When the deployment code fails to create a table, it rather silently ignores the issue.
Log fragment:
2007-05-31 15:48:45,646 DEBUG [org.hibernate.tool.hbm2ddl.SchemaUpdate] create table UserRight_`group` (rights_id int8 not null, userGroups_id int8 not null)
2007-05-31 15:48:45,651 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] Unsuccessful: create table UserRight_`group` (rights_id int8 not null, userGroups_id int8 not null)
2007-05-31 15:48:45,651 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] ERROR: syntax error at or near "`"
JBoss finished the whole deployment and does not give any other complaints than this. My suspicion is that SchemaUpdate catches an exception somewhere, prints this line but then forgets to pass on the exception, causing the EJB deployment to "succeed" incorrectly.
Table UserRight_`group` was an automatic concatenation, due to a ManyToMany relation between entity UserRight and entity Group, where the latter was escaped using back ticks, as described here: http://jira.jboss.org/jira/browse/EJBTHREE-637
A bugreport about the incorrect name can be found here: http://jira.jboss.org/jira/browse/EJBTHREE-976
--
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
14 years, 3 months
[JBoss JIRA] Created: (EJBTHREE-929) SQL Exception when entities with composite keys are retrieved
by Venkat Kakula (JIRA)
SQL Exception when entities with composite keys are retrieved
-------------------------------------------------------------
Key: EJBTHREE-929
URL: http://jira.jboss.com/jira/browse/EJBTHREE-929
Project: EJB 3.0
Issue Type: Bug
Environment: Windows XP SP2; JBoss 4.0.5 GA with EJB 3.0
Reporter: Venkat Kakula
After migrating an OC4J/TopLink Essentials project to JBoss/Hibernate, there were some breakdowns. I have some entities with composite keys (specifically - 4 ID fields). There is a separate ID Key class. These field names do not match the database fields directly but are mapped with @Column(name="A_B_C" nullable="false") style notation with the field names as aBC. The SQL generated thus looks for 'TABLEONE0_'.'aBC' specifically on the ID fields of the entity instead of 'TABLEONE0_'.'A_B_C' they should be mapping to. The rest of the attributes map out alright.
By the way I just wanted to note that all the code that is breaking down was working fine on OC4J with toplink - FYI.
--
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
14 years, 3 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
14 years, 3 months