3 Replies Latest reply: Apr 12, 2012 7:16 AM by 720657 RSS

    View don't work in HA using precise recovery with JMS

    887796-Oracle
      Hi,

      I built a simole application using HA with JMS precise recovery. It works fine as long as the queries select directly from the input channel.

      The problem starts when I use views. I created this view. This is th eprocessor file:
      <?xml version="1.0" encoding="UTF-8"?>
      <wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application"
      xmlns:jdbc="http://www.oracle.com/ns/ocep/config/jdbc" >

      <processor>
      <name>Processor</name>
      <rules>
      <view id="eventView" schema="messageText messageId">
      <![CDATA[
      SELECT
      X.messageText as messageText,
      X.messageId as messageId
      from
      InputChannel
      XMLTable
      ( '//elements' PASSING BY VALUE InputChannel.messageText as "."
      COLUMNS
      messageText xmltype PATH 'value/text()',
      messageId char(50) PATH 'key/text()'
      ) AS X
      ]]>
      </view>

      <query id="SimpleQuery"> <![CDATA[select messageText AS messageText from eventView]]> </query>
      </rules>
      </processor>
      </wlevs:config>

      The application compiles but when I deploy it I get:

      <08:21:02 IDT 05/04/2012> <Emergency> <CQLServer> <BEA-000000> <alter query SimpleQuery start>
      <08:21:02 IDT 05/04/2012> <Emergency> <CQLServer> <BEA-000000> <alter query SimpleQuery start
      java.lang.NullPointerException>
      <08:21:02 IDT 05/04/2012> <Emergency> <CQLServerTrace> <BEA-000000> <java.lang.NullPointerException>
      <08:21:02 IDT 05/04/2012> <Error> <CQLProcessor> <BEA-000000> <CQLProcessor internal error for DDL [alter query SimpleQuery start] = null
      java.sql.SQLException
      at oracle.cep.jdbc.CEPStatement.evaluateAndSend(CEPStatement.java:322)
      at oracle.cep.jdbc.CEPStatement.executeUpdate(CEPStatement.java:301)
      at com.oracle.cep.processor.cql.impl.CEPServerInstance.executeDDL(CEPServerInstance.java:256)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.executeDDL(CQLProcessorImpl.java:3027)
      at com.oracle.cep.processor.cql.impl.CQLQuery.start(CQLQuery.java:48)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.activateRules(CQLProcessorImpl.java:810)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.activate(CQLProcessorImpl.java:870)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.afterConfigurationActive(CQLProcessorImpl.java:2549)
      at com.bea.wlevs.spring.ActivationBeanPostProcessor.postProcessAfterContextInitialization(ActivationBeanPostProcessor.java:20)
      at com.bea.wlevs.spring.DeferredBeanPostProcessor.afterConfigurationActive(DeferredBeanPostProcessor.java:27)
      at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:112)
      at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
      at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
      at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
      at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
      at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
      at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
      at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
      at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
      at org.springframework.scheduling.commonj.DelegatingWork.run(DelegatingWork.java:61)
      at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:203)
      at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
      Caused By: java.lang.NullPointerException
      at oracle.cep.planmgr.codegen.StreamSourceFactory.setupExecOpt(StreamSourceFactory.java:201)
      at oracle.cep.planmgr.codegen.ExecOptFactory.instantiate(ExecOptFactory.java:198)
      at oracle.cep.planmgr.codegen.OptInst.instOp(OptInst.java:128)
      at oracle.cep.planmgr.codegen.CodeGenHelper.instantiate(CodeGenHelper.java:91)
      at oracle.cep.planmgr.PlanManager.instantiate(PlanManager.java:1062)
      at oracle.cep.metadata.QueryManager.instantiate(QueryManager.java:840)
      at oracle.cep.metadata.QueryManager.startQuery(QueryManager.java:476)
      at oracle.cep.metadata.ViewManager.startView(ViewManager.java:403)
      at oracle.cep.metadata.QueryManager.startQuery(QueryManager.java:472)
      at oracle.cep.metadata.QueryManager.startNamedQuery(QueryManager.java:268)
      at oracle.cep.server.CommandDriver.QueryRefNodeDriver.execute(QueryRefNodeDriver.java:55)
      at oracle.cep.server.CommandInterpreter.execute(CommandInterpreter.java:264)
      at oracle.cep.server.CEPServer.executeDDL(CEPServer.java:186)
      at oracle.cep.jdbc.CEPStatement.evaluateAndSend(CEPStatement.java:319)
      at oracle.cep.jdbc.CEPStatement.executeUpdate(CEPStatement.java:301)
      at com.oracle.cep.processor.cql.impl.CEPServerInstance.executeDDL(CEPServerInstance.java:256)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.executeDDL(CQLProcessorImpl.java:3027)
      at com.oracle.cep.processor.cql.impl.CQLQuery.start(CQLQuery.java:48)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.activateRules(CQLProcessorImpl.java:810)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.activate(CQLProcessorImpl.java:870)
      at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.afterConfigurationActive(CQLProcessorImpl.java:2549)
      at com.bea.wlevs.spring.ActivationBeanPostProcessor.postProcessAfterContextInitialization(ActivationBeanPostProcessor.java:20)
      at com.bea.wlevs.spring.DeferredBeanPostProcessor.afterConfigurationActive(DeferredBeanPostProcessor.java:27)
      at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:112)
      at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
      at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
      at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
      at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
      at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
      at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
      at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
      at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
      at org.springframework.scheduling.commonj.DelegatingWork.run(DelegatingWork.java:61)
      at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:203)
      at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

      <08:21:02 IDT 05/04/2012> <Error> <Deployment> <BEA-2045016> <The application context "com.oracle.cep.training.HA" could not be started. Could not initialize component "<unknown>": CQLProcessor internal error for DDL [alter query SimpleQuery start] = null>
      <08:21:02 IDT 05/04/2012> <Notice> <Deployment> <BEA-2045001> <The application bundle "com.oracle.cep.training.HA" was undeployed successfully>
      <08:21:02 IDT 05/04/2012> <Warning> <com.bea.wlevs.cluster.gbcast.support.AbstractBroadcastGroup> <BEA-000000> <AtomicGroupBroadcastListener.onCommit [com.bea.wlevs.deployment.cluster.ClusterDeploymentListener@22313b0] threw an exception
      java.lang.IllegalStateException: Deployment transaction could not be completed, the local deployment failed
      at com.bea.wlevs.deployment.cluster.ClusterDeploymentListener.onPrepare(ClusterDeploymentListener.java:63)
      at com.bea.wlevs.cluster.gbcast.support.AbstractBroadcastGroup.prepareTxInternal(AbstractBroadcastGroup.java:302)
      at com.bea.wlevs.cluster.coherence.BroadcastGroupImpl$BroadcastTransactionImpl.run(BroadcastGroupImpl.java:407)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.InvocationService.onInvocationRequest(InvocationService.CDB:12)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.InvocationService$InvocationRequest.onReceived(InvocationService.CDB:40)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:11)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33)
      at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
      at java.lang.Thread.run(Thread.java:619)


      Any idea why?

      Thanks