[JBoss Cache: Core Edition] - Re: Rolled back transactions sometimes failing to release lo
by nathanmesser
This one is less obscure, we had an OutOfMemoryError during rollback.
####<19-Feb-2009 15:50:06 o'clock GMT> <cdlwlprod01> <prod_CDLWLPROD01> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1235058606291> <BEA-000000> <182721306 [[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN interceptors.TxInterceptor - Rollback had a problem
java.lang.OutOfMemoryError: allocLargeObjectOrArray - Object size: 199376, Num elements: 49840
at org.jboss.cache.util.ImmutableListCopy.(ImmutableListCopy.java:74)
at org.jboss.cache.util.Immutables.immutableListConvert(Immutables.java:66)
at org.jboss.cache.transaction.AbstractTransactionContext.getLocks(AbstractTransactionContext.java:177)
at org.jboss.cache.interceptors.MVCCLockingInterceptor.transactionalCleanup(MVCCLockingInterceptor.java:399)
at org.jboss.cache.interceptors.MVCCLockingInterceptor.handleRollbackCommand(MVCCLockingInterceptor.java:302)
at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitRollbackCommand(PrePostProcessingCommandInterceptor.java:401)
at org.jboss.cache.commands.tx.RollbackCommand.acceptVisitor(RollbackCommand.java:49)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.NotificationInterceptor.visitRollbackCommand(NotificationInterceptor.java:67)
at org.jboss.cache.commands.tx.RollbackCommand.acceptVisitor(RollbackCommand.java:49)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.TxInterceptor.handleCommitRollback(TxInterceptor.java:459)
at org.jboss.cache.interceptors.TxInterceptor.runRollbackPhase(TxInterceptor.java:529)
at org.jboss.cache.interceptors.TxInterceptor$RemoteSynchronizationHandler.afterCompletion(TxInterceptor.java:816)
at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.afterCompletion(TxInterceptor.java:968)
at org.jboss.cache.interceptors.OrderedSynchronizationHandler.afterCompletion(OrderedSynchronizationHandler.java:92)
at weblogic.transaction.internal.ServerSCInfo$CallAfterCompletionsAction.run(ServerSCInfo.java:1601)
at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:1011)
at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:2990)
at weblogic.transaction.internal.ServerTransactionImpl.afterRolledBackStateHousekeeping(ServerTransactionImpl.java:2872)
at weblogic.transaction.internal.ServerTransactionImpl.setRolledBack(ServerTransactionImpl.java:2848)
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryRollback(ServerTransactionImpl.java:3087)
at weblogic.transaction.internal.ServerTransactionImpl.globalRollback(ServerTransactionImpl.java:2838)
at weblogic.transaction.internal.TransactionImpl$3.run(TransactionImpl.java:1937)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)>
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4211538#4211538
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4211538
17 years, 2 months
[Persistence, JBoss/CMP, Hibernate, Database] - Re: CURSOR_SHARING option help needed
by mimmo67
Can you help me in modifying the data source I use introducing the option you refer?
My current data source is something like:
<xa-datasource>
<jndi-name>jdbc/SOCRATEDS</jndi-name>
<track-connection-by-tx/>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">jdbc:oracle:thin:@//xxx.yyy.zzz.aaa:pppp/myschema</xa-datasource-property>
<xa-datasource-property name="User">myuser</xa-datasource-property>
<xa-datasource-property name="Password">mypwd</xa-datasource-property>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<no-tx-separate-pools/>
<type-mapping>Oracle9i</type-mapping>
</xa-datasource>
<depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager
Have I to introduce a new row like this:
<xa-datasource-property name="CURSOR_SHARING">FORCE</xa-datasource-property>
Thanks again.
Domenico
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4211536#4211536
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4211536
17 years, 2 months
[EJB/JBoss] - TimerService Restart Issue
by dolsen
I have the following Timer service class defined:
| @Stateless
| @RemoteBinding(jndiBinding="XXXCommandRemote")
| public class XXXCommandBean implements XXXCommandRemote
| {
| static Logger logger = Logger.getLogger(XXXCommandBean.class);
|
| @Resource TimerService timerService;
|
| public void scheduleCommand(Command command)
| {
| timerService.createTimer(command.getDuration(), command);
| }
|
| public void scheduleContinousCommand(Command command)
| {
| timerService.createTimer(command.getDuration(), command.getDuration(), command);
| }
|
| @Timeout
| public void runCommand(Timer timer)
| {
| Command command = (Command) timer.getInfo();
|
| logger.debug("runCommand: Firing command for user: " + command.getUserId() + " " + command.getDescription());
|
| User user = null;
|
| System.setProperty("java.security.policy", "server.policy");
| if (System.getSecurityManager() == null)
| {
| System.setSecurityManager(new RMISecurityManager());
| }
|
| InitialContext jndiContext;
| try
| {
| jndiContext = getInitialContext();
| UserRemote playerRef = (UserRemote) jndiContext.lookup("UserRemote");
| USerRemote dao = (UserRemote) PortableRemoteObject.narrow(playerRef, UserRemote.class);
| user = dao.findUser(command.getUserId());
| }
| catch (NamingException e)
| {
| logger.error("NamingException: ", e);
| }
| ...
|
This seems to work fine in normal cases.
However, if I have a command scheduled for the future, and then restart the app server I get the following error when the Timeout hook runs:
| 2009-02-19 08:31:04,125 DEBUG [org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory] (EJB-Timer-1235057250689[target=jboss.j2ee:ear=feudalism.ear,jar=feudalism
| -beans.jar,name=XXXCommandBean,service=EJB3]) Created Proxy of type $Proxy140 for EJB3 Business Interface: com.feudalism.session.user.UserRemote
| 2009-02-19 08:31:04,125 ERROR [com.feudalism.session.user.UserBean] (EJB-Timer-1235057250689[target=jboss.j2ee:ear=feudalism.ear,jar=feudalism-beans.jar,name=XXXCommandBean,service=EJB3]) NamingException:
| javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + BaseClassLoader@
| 13c72d{vfsfile:/C:/java/jboss-5.0.0.GA/jboss-5.0.0.GA/server/feudalism/deploy/ejb2-timer-service.xml}]
| at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1463)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:809)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at com.feudalism.session.command.XXXCommandBean.runCommand(XXXCommandBean.java:92)
|
This is happening during lookup:
UserRemote playerRef = (UserRemote)jndiContext.lookup("UserRemote");
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4211527#4211527
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4211527
17 years, 2 months