Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problem with Quartz Clustering

jrudascasSep 3 2014

Hi,

I am trying the clustering quartz. However, i have the next problem:

org.quartz.JobPersistenceException: Unexpected runtime exception: Attempt to pass a reference to an EJBLocalObject to a remote client.  A local EJB component may only be accessed by clients co-located in the same ear or standalone jar file. [See nested exception: javax.ejb.EJBException: Attempt to pass a reference to an EJBLocalObject to a remote client.  A local EJB component may only be accessed by clients co-located in the same ear or standalone jar file.]

  at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3812)

  at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:93)

  at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInLock(JobStoreSupport.java:3722)

  at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1047)

  at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:840)

  at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250)

  at com.bancodebogota.notificador.model.utils.CallJob.lanzarQuartz(CallJob.java:42)

  at view.TerminaProceso.contextInitialized(TerminaProceso.java:26)

  at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)

  at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)

  at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1863)

  at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3126)

  at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1512)

  at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:486)

  at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

  at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)

  at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

  at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)

  at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)

  at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)

  at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)

  at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)

  at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)

  at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)

  at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)

  at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)

  at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)

  at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)

  at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)

  at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)

  at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)

  at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)

  at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)

  at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)

  at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)

  at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)

  at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)

  at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)

  at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)

  at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)

  at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Caused by: javax.ejb.EJBException: Attempt to pass a reference to an EJBLocalObject to a remote client.  A local EJB component may only be accessed by clients co-located in the same ear or standalone jar file.

  at com.bancodebogota.notificador.external.actividades.NotificacionActividades_m34c28_NotificacionActividadesLocalImpl.writeObject(NotificacionActividades_m34c28_NotificacionActividadesLocalImpl.java:167)

  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:597)

  at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)

  at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)

  at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)

  at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)

  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)

  at java.util.HashMap.writeObject(HashMap.java:1001)

  at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

  at java.lang.reflect.Method.invoke(Method.java:597)

  at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)

  at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)

  at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)

  at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)

  at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)

  at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)

  at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)

  at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)

  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)

  at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeObject(StdJDBCDelegate.java:3011)

  at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeJobData(StdJDBCDelegate.java:3036)

  at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.insertJobDetail(StdJDBCDelegate.java:627)

  at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1101)

  at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.execute(JobStoreSupport.java:1051)

  at org.quartz.impl.jdbcjobstore.JobStoreSupport$45.execute(JobStoreSupport.java:3726)

  at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3798)

  ... 44 more

Mi quartz.properties is this:

#============================================================================

# Configure Main Scheduler Properties 

#============================================================================

org.quartz.scheduler.instanceName = ClusteredScheduler_LiquidadorTasas

org.quartz.scheduler.instanceId = AUTO

#============================================================================

# Configure ThreadPool 

#============================================================================

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount = 5

org.quartz.threadPool.threadPriority = 5

#============================================================================

# Configure JobStore 

#============================================================================

#org.quartz.jobStore.useProperties = true

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate

org.quartz.jobStore.dataSource = dataSource

org.quartz.jobStore.tablePrefix = QRTZ_

org.quartz.jobStore.isClustered = true

org.quartz.jobStore.clusterCheckinInterval = 20000

org.quartz.jobStore.misfireThreshold = 60000

#============================================================================

# Configure Datasources 

#============================================================================

org.quartz.dataSource.dataSource.jndiURL = jdbc/liquidador

org.quartz.dataSource.dataSource.naming.factory.initial=org.quartz.utils.JNDIConnectionProvider

Any solutions?

Regards

Jorge Rrudas

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 1 2014
Added on Sep 3 2014
0 comments
522 views