Wednesday, December 9, 2009

JJM AU DW Tricky Trick

In DW_MATERIAL_MASTER a material may has an entry for JMNZ but not JMAU.

If there is a JMAU transaction for this material, when extracting the fact data against the dimension (material hierarchy), this transaction maybe dropped from the fact table since it could not find the correspond entry in material hierarchy.

For a JMNZ transaction, it might be labeled as UNALLOCATED JJMAU as its EMPLOYEE_NAME_DISPLAY.

Such transaction may have gone into JMAU (appears in JJM Affiliates) cube instead of JMNZ cube.

Saturday, December 5, 2009

C8 FAQ

Cognos 8.3, when trying to open a project in Framework Manager, it requires authentication. It gives "CAM-AAA-0064 - The function 'CMQueryCognosSecurityJNI' failed." error after entering user/password.

       Server CM-SYS-5192 An error occurred with Content Manager.   error cmStoreNotAvailable  CM-SYS-5003 Content Manager is unable to access the content store. Verify your database connection parameters, and then contact your database administrator for assistance.   1 Listener refused the connection with the following error: ORA-12518, TNS:listener could not hand off client connection The Connection descriptor used by the client was: NCSAPMEDCRD1:1525:DWD        

Investigating

Cognos 8.3, After log on to portal and click "Australia" tab, the page gave 5 "CPS-PAG-4801 - Operation failed in the consumer component." error.


com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Unknown Source) com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request. at com.cognos.portal.fragment.wsrp.Fragment.execute(Fragment.java:169) at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:161) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Unknown Source) com.cognos.portal.fragment.server.DashboardException: PF-SRV-6116 Unable to process the document, target is not valid or the target was not received. at com.cognos.portal.fragment.service.ServiceEnvironment.getLocalTargetStream(ServiceEnvironment.java:253) at com.cognos.portal.fragment.Environment.getTargetStream(Environment.java:581) at com.cognos.portal.fragment.service.ServiceEnvironment.createValidationDocument(ServiceEnvironment.java:658) ...

Possibly, the DW server and C8 server were reboot/shutdown in the wrong sequence. It may cause C8 server lose the connection or hold a stall connection to DW. Contact DBA.

Cognos 8.3, in Australia portal, Executive section, a yellow box shows up "PF-VAL-6171 Error retrieving metadata for the target fragment.".

Permission for Executive section has not been set properly.

Cognos 8.3, cube build was failed due to the following error(s).

Thu 10 Dec 2009 12:36:11 AM 2 00416C17 (TR2317) The level 'Regional Material Long Code' is designated as unique.  Source value '2960-B-9565' was used in an attempt to create a category in the path ( Regional Material,M00295,018175,028175,038175,040757,2960-B-9565 ).  '2960-B-9565' already exists in level 'Regional Material Long Code' in the path ( Regional Material,( Blank ),( Blank )~24548,( Blank )~24549,( Blank )~24550,04,2960-B-9565 ). [->OK]
Thu 10 Dec 2009 12:36:35 AM 2 00000000 (TR2318) Transformer has detected 424 attempts to create a category in more than one path. Refer to the online help for a detailed explanation of level uniqueness. [->OK]
Thu 10 Dec 2009 12:36:35 AM 4 00000000 End processing 50611 records from data source 'Material (with transaction)'.
Thu 10 Dec 2009 12:36:35 AM 4 00000000 Timing, READ DATA SOURCE,00:00:25
Thu 10 Dec 2009 12:36:35 AM 4 00000000 End cube update.
Thu 10 Dec 2009 12:36:35 AM 4 00000000 Timing, TOTAL TIME (CREATE CUBE),00:00:38
Thu 10 Dec 2009 12:36:35 AM 2 00000000 (TR0136) A uniqueness violation was detected.  The process has been aborted. [->OK]

Investigating

Wednesday, September 9, 2009

Seam + Hibernate + MS SQL

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005, SQL driver complaints syntax error

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'user'.
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338)
 at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)

"User" is keyword in SQL Server, so need to escape it in @Table definition. Also the Entity which names a property by using "user" may causes problem too.

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. A EJB remote interface is implemented for a Seam EntityHome. After a remote client (A plain Java main class) obtains the EntityHome by JNDI look up and try to get an instance of the entity via getInstance(), it causes ClassCastException.

@Name("measurementDataHome")
@Stateful
public class MeasurementDataHome extends EntityHome implements MeasurementData {
......
}
@Remote
public interface MeasurementData {
 
 public void setId(Object Id);
 
 public Object getId();
 
 public void setInstance(MeasurementDataEntity instance);
 
 public MeasurementDataEntity getInstance();
 
 public boolean isManaged();
 
 public String remove();
}
Exception in thread "main" java.lang.ClassCastException: java.lang.Long
 at $Proxy2.getInstance(Unknown Source)
 at Main.main(Main.java:24)

The cause is unknown. But the fix is add Override getInstance() inside EntityHome implementation:

    @Override 
    public MeasurementDataEntity getInstance() {
     return super.getInstance();
    }

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. When User entity is trying to load a list of its associated MeasurementData entities, it throws exceptions.

javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of org.unsw.bsl.dss.measurement.MeasurementData.valueNumeric
 at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
 at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

The problems was that the value in the database was NULL so when Hibernate try to set the value NULL from the DB to the set method which accept a primitive value it throw an error. So in Entity, change primitive type to Object type so it accepts null.

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. Association between MeasurementData and User is Lazy fetching. When trying to get list of measurementData which associates with a user, it throws LIE.

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.unsw.bsl.dss.user.User.measurementData, no session or session was closed
 at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380)
 at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372)
 at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:119)
 at org.hibernate.collection.PersistentBag.size(PersistentBag.java:248)
 at DomainTest.testReadUser(DomainTest.java:77)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

Using EntityHome for entities in long-running contexts

How to avoid LazyInitializationException

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. Hibernate generates wrong SQL, thus causes MS SQL driver throws exception. For example, ClinicalData and Patient are two entities associate with, the generated SQL mistakes clinicalData and patient (property field name) as column names.

Hibernate: 
    select
        measuremen0_.Id as Id4_0_,
        measuremen0_.addDateTime as addDateT2_4_0_,
        measuremen0_.clinicalData as clinical3_4_0_, <--- Wrong
        measuremen0_.patient as patient4_0_, <--- Wrong
        measuremen0_.valueNumeric as valueNum5_4_0_,
        measuremen0_.voidedDateTime as voidedDa6_4_0_ 
    from
        UserClinicalData measuremen0_ 
    where
        measuremen0_.Id=?
ERROR [org.hibernate.util.JDBCExceptionReporter] Invalid column name 'clinicalData'.
Hibernate: 
    select
        measuremen0_.UserId as UserId3_,
        measuremen0_.Id as Id3_,
        measuremen0_.Id as Id4_2_,
        measuremen0_.AddDateTime as AddDateT2_4_2_,
        measuremen0_.ClinicalDataId as Clinical6_4_2_, <--- After fixed
        measuremen0_.UserId as UserId4_2_, <--- After fixed
        measuremen0_.ValueNumeric as ValueNum3_4_2_,
        measuremen0_.VoidedDateTime as VoidedDa4_4_2_,
        clinicalda1_.Id as Id5_0_,
        clinicalda1_.ClinicalDataCodeId as Clinical3_5_0_,
        clinicalda1_.Type as Type5_0_,
        codedictio2_.Id as Id1_1_,
        codedictio2_.CodeDictionaryCode as CodeDict2_1_1_ 
    from
        UserClinicalData measuremen0_ 
    left outer join
        ClinicalData clinicalda1_ 
            on measuremen0_.ClinicalDataId=clinicalda1_.Id 
    left outer join
        CodeDictionary codedictio2_ 
            on clinicalda1_.ClinicalDataCodeId=codedictio2_.Id 
    where
        measuremen0_.UserId=?

The problem occurred when mapping notations i.e. @ManyToOne applied in getter/setter methods. The problem disappear after moving all notations to property field level.

Wednesday, August 26, 2009

MS Excel vlookup Demo

=VLOOKUP(A2, 's1'!$A$2:$B$25, 2,)

Assume this is vlookup in sheet s2. A2 is the exact value searched for in the first column of the reference array.'s1'!$A$2:$B$25 is the reference array, which must include at least two columns (because have to include A2). $ in the array range is absolute, ensures that all vlookup look up from the EXACT same reference array. 2 is is the column index in the array that contains the value to be returned. In other word, vlookup finds the match A2 in the array in sheet s1 and return the value in column 2.

Tuesday, July 28, 2009

Seam 2 + MySQL 5 + jBPM 3

Seam (jboss-seam-2.1.2) could not start jBPM (jbpm-3.2.6.SP1) causes application deployment fails

02:08:48,718 ERROR [jbpm]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.bpm.jbpm
Caused by: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of org.jbpm.job.Job.id

jboss-seam-2.1.2 comes with an older version of jbpm-jpdl.jar. Copy the newer one from jbpm-3.2.6.SP1 to replace the one in seam.

Seam (jboss-seam-2.1.2) example Hotel Booking, it causes exceptions during undeployment during JBoss shutdown

17:35:36,421 WARN  [Component] Exception calling stateful session bean default @Remove method: hotelBooking
org.jboss.ejb3.common.registrar.spi.NotBoundException: Requested value bound at name "jboss.j2ee:ear=seam.example.hotel-ear.ear,jar=seam.example.hotel-ejb.jar,name=HotelBookingAction,service=EJB3" is not bound.
17:35:36,437 WARN  [Component] Exception calling stateful session bean default @Remove method: bookingList
org.jboss.ejb3.common.registrar.spi.NotBoundException: Requested value bound at name "jboss.j2ee:ear=seam.example.hotel-ear.ear,jar=seam.example.hotel-ejb.jar,name=BookingListAction,service=EJB3" is not bound.
17:35:36,437 WARN  [Component] Exception calling stateful session bean default @Remove method: hotelSearch
org.jboss.ejb3.common.registrar.spi.NotBoundException: Requested value bound at name "jboss.j2ee:ear=seam.example.hotel-ear.ear,jar=seam.example.hotel-ejb.jar,name=HotelSearchingAction,service=EJB3" is not bound.

Only the Stateful session beans like hotelSearch cause the exception. Inside the example there are jboss.xml which contains session bean registrations. Places this file to seam.example.hotel-ear\EarContent\META-INF.

Seam (jboss-seam-2.1.2) jBPM file for page flow could not be parsed

Caused by: org.jbpm.jpdl.JpdlException: [[ERROR] Unable to parse process definition pageflow.jpdl.xml]
 at org.jboss.seam.bpm.Jbpm.getPageflowDefinitionFromResource(Jbpm.java:169)
 at org.jboss.seam.bpm.Jbpm.installPageflowDefinitions(Jbpm.java:278)

Check if the process definition contains any sub process. If it does, in components.xml, all sub processes MUST be defined before the main process. For example: if cheat.jpdl.xml is a sub process of pageflow.jpd.xml, the follow one will cause the trouble


    pageflow.jpdl.xml
    cheat.jpdl.xml

And this one is correct.


    cheat.jpdl.xml
    pageflow.jpdl.xml

Saturday, July 25, 2009

Eclipse + Seam + TestNG Tricky

TestNG gives "Connection Refused" while running on Eclipse

org.testng.TestNGException:
Cannot establish connection: 127.0.0.1:4359
at org.testng.remote.strprotocol.StringMessageSenderHelper.connect(StringMessageSenderHelper.java:93)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:57)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at org.testng.remote.strprotocol.StringMessageSenderHelper.connect(StringMessageSenderHelper.java:56)
... 2 more

While running TestNG in Eclipse there will always be 2 VMs involved: the VM of Eclipse and the VM running the tests. In order to update the plugin UI the 2 VMs are communicating over a port using a very simple string based protocol. The exception you are seeing is telling that the 2 VMs are not able to talk to each other. This is a weird exception that would translate into: there was impossible to open a communication port between the 2 VMs involved. Off hand, the cause may be: a bug in Eclipse/plugin or maybe a firewall/antivirus that blocks this.

TestNG/Seam reports ClassNotFoundException issues

[Parser] Running:
 D:\showman\My Documents\workspace_3.5\seam.examples.helloworld-test\temp-testng-customsuite.xml
ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Described: name=BeanDeployer state=PreInstall
ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Described: name=ServiceDeployer state=PreInstall
java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
Caused by: java.lang.ClassNotFoundException: [Ljava.lang.Class;
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=UserTransaction state=Create
java.lang.RuntimeException: Unable to locate the transaction manager
FAILED CONFIGURATION: @BeforeSuite startSeam
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

*** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}

UserTransactionBinding
-> UserTransaction{Configured:**ERROR**}

UserTransactionBinding2
-> UserTransaction{Configured:**ERROR**}


*** CONTEXTS IN ERROR: Name -> Error

SARDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

ServiceDeploymentDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

ServiceClassLoaderDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

BeanDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

ServiceDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

BeanMetaDataDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

UserTransaction -> java.lang.RuntimeException: Unable to locate the transaction manager

KernelDeploymentDeployer -> java.lang.ClassNotFoundException: [Ljava.lang.Class;

This is mostly caused by Class Path configuration, also, Java 6 may be the cause, use Java 5!!

Could not find several required files

ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Parse: name=vfsfile:/D:/showman/My%20Documents/workspace_3.5/seam.examples.helloworld-test/bootstrap/deploy/jboss-local-jdbc.rar state=Not Installed mode=Manual requiredState=Parse
org.jboss.deployers.spi.DeploymentException: Error parsing meta data jboss-local-jdbc.rar/META-INF/ra.xml
Caused by: java.io.FileNotFoundException: File does not exist: D:\showman\My%20Documents

It seems that it does not like space in the path T_T, try to set the workspace to somewhere with NO space!! FUCK!

When running test case in Eclipse, TestNG complains bad version in .class file even Java 5 is used

java.lang.UnsupportedClassVersionError: Bad version number in .class file

Make sure everything is Java 5 compliant, such as:

  • Project build path
  • JAVA_HOME, JRE_HOME
  • Java's in PATH (check by java -version)
  • The Application Server (i.e. must be JDK5 compiled JBoss AS 5)

Tuesday, July 14, 2009

JBoss jBPM Info Center

jBPM 4.0

jBPM User Guide (jBPM 4.0)

jBPM Developers Guide (jBPM 4.0)

jBPM Wiki

Getting Started with jBPM 4.0 - (Part I)

Getting Started with jBPM 4.0 - (Part II)

Getting Started with jBPM 4.0 - (Part III)

Getting Started with jBPM 4.0 - (Part IV)

jBPM 3.X

jBPM3 Getting Started

jBPM deployment in production environments

FAQ

When running jBPM (3.2.6.SP1) within Seam (2.1.2), the process does not run in persistent state. For example: all process instances are lost after JBoss AS restarts

In jBPM side, hibernate.cfg.xml takes the main responsibility for jBPM's persistent properties. Make sure all settings are configured properly especially:

<property name="hibernate.connection.datasource">java:JbpmDS</property>

When trying jBPM's websale example, exception occurs when clicking evaluation button

Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fffd:daa:4a702b15:1fe status: ActionStatus.ABORT_ONLY >
Could not enlist in transaction on entering meta-aware object!;
Unable to persist timer

XA data sources and jBPM

When trying jBPM's websale example (jbpm-3.2.6.SP1), AFTER clicking evaluation button and complete the task successfully, manager's task with timer causes exceptions

java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620) 

jBPM distribution maybe compiled by Java 6, use JDK6 compiled JBoss AS 5 and set JAVA_HOME and JRE_HOME to JDK6.

Saturday, June 27, 2009

K10 AM2(+) Overclock Info Center

LP UT 790FX-M2R + 955BE Possible?....Sure it is ;-)

OC on DFI LP DK 790FXB-M2RSH Hand Holding Tutorial

DFI LANparty UT 790FX-M2R (ATI/AMD 790FX) with OCZ 8000 ReaperX

8000 Platinum, 8000 Reaper X, and 8500 Reaper tRFC 54 SPD flashing instructions

HEX codes, for changing NB voltage question.

Regarding FSB, although theoretically speaking it should be able to operate 1066 without overclocking the FSB, many times it makes it much more stable with a higher FSB speed. This is especially apparent with AMD platforms.

Windows XP Installtion Note on K10 (Domain User)

Here I just record several steps need to go through after installation is done. AMD K10 system ONLY!!

Several things have to be changed since now I am using domain account, SoftCloud Software Platform, Windows XP SP3 etc. System configuration should be done by using administrator account.

Hardware Driver Setup

  • Install Windows XP SP3
  • Disable System Restore
  • Format D: and E: Drives (Or Document and ProgramFiles Drives)
  • Set Virtual Memory in D: Drive
  • Install CPU Drivers (AMD K8 Driver, XP Fix and DualCore Optimizer
  • Install 790FX Chipset Driver
  • Install .Net Framework package (ATI Gfx Card ONLY!)
  • Install Gfx Card Driver
  • Install Audio Driver
  • Install LAN Driver
  • Install Mouse & Keyboard Driver

Set Up User Profile

  • Setup correct IP, Gateway and DNS address that points to DC
  • Join to domain NERV.HQ
  • Logon as domain account after system reboot so new profile is setup
  • Reboot, Logon as local administrator
  • Copy domain user folder from C:\Documents and Settings to D: Drive
  • Open regedit -> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. Change ProfileImagePath to new location from above step
  • Copy back up My Documents to that new location
  • Add domain user into local administrator group

Partition Size List

  • 10400 --> 10GB
  • 5154 --> 5GB
  • 41002 --> 40GB
  • 20600 --> 20GB
  • 30800 --> 30GB
  • 51300 --> 50GB

Friday, May 15, 2009

ActiveBPEL Exceptions Tricky

Platform: ActiveBPEL 3.1 + Tomcat 5.5.27 + Java2 SDK 1.4.2_18
The message part 'response' produced the following error during validation: cvc-complex-type.2.4.a: Invalid content was found starting with element 'vehicle'. One of '{company}' is expected.) :...

This happens when the given message is different from defined message in WSDL. Note that the order of the elements is very important: it has to be the exact same order as defined in WSDL. In BPEL, the order of Copy/To decides the order of elements appear in the message. Thus make sure the copy order is exactly the same as the element order defined in WSDL.

Error executing SOAP-RPC request. Operation not found for: bookRequest

Check if the process has been triggered and become active. If not, it's possibly caused by SOAP style type mismatch. When generating the BPP file, last step is select Binding style: mostly either Document Literal or RPC Encoding. Must select the one which is the same as defined in WSDL

Reason: WSDLException (at /schema): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'.:

The incorrect referencing the location of those XSD, WSDL documents. BPP finds the documents by referring to catalog.xml which is generated when making BPR file. So MUST generate the BPR file by using Designer to ensure consistency.

org.xml.sax.SAXException: Deserializing parameter 'clientRequest': could not find deserializer for type {http://www.travelAgent.com/book/schema}requestOrderType

XML parser could not deserialize the message. It maybe caused by given message is different from what the parser expects. For example, the client may calls WS_1 by using WS_2's endpoint address. So message types mismatch and thus could not be deserialized.

Completed with fault: missingRequest (No matching receive for reply) :  [/process/flow/reply[@name='ReplyConfirmToCustomer']] [f]

Or

org.activebpel.rt.bpel.impl.AeBpelException: No matching receive for reply

In general however you can only reply to a Receive activity once and then that thread is closed so there is no longer anything to reply to. For example start the process with an onMessage and then in the onMessage container you reply to the receive. Once you have done that then all the replies in the Fault handlers become invalid.

http://localhost/active-bpel/SOAPMonitor --> not running or capturing anything!

Enabled the Soap Monitor in ActiveBPEL by editing $CATALINA_HOME/shared/classes/ae-server-config.wsdd

Wednesday, January 7, 2009

Oracle OraClient Network Configuration

After Oracle OraClient has been installed, network connection can be added, edited manually from Network Configuration File. This file locates in X:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora. Its syntax looks like

ServiceName =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = HostName)(PORT = HostPort))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ServiceName)
    )
  )