0 Replies Latest reply on Jul 9, 2009 10:49 AM by chst_77

    Integration with compass / lucene... impossible?

      Hi,

      i'm trying to integrate a search engine (compass gps / lucene) into my process engine, which is based on jBPM 3.3.1 / JBoss 4.2.3.

      My idea is to search for process instances. There is a class named ProcessInstance in jbpm I'd like to search. The proper way to publish it to compass is point my hibernate configuration to the compass framework by setting these properties in hibernate.cfg.xml:

      <property name="compass.engine.connection">temp/lucene</property>
      <property name="compass.hibernate.config">/compass.cfg.xml</property>
      


      That works fine, compass.cfg.xml is recognized and parsed. It goes like this:

      <!DOCTYPE compass-core-configuration PUBLIC
      "-//Compass/Compass Core Configuration DTD 2.2//EN"
      "http://www.compass-project.org/dtd/compass-core-configuration-2.2.dtd">
      <compass-core-configuration>
      <compass>
      <setting name="compass.engine.connection">lucene</setting>
      <meta-data resource="/compass.mapping.xml" />
      </compass>
      </compass-core-configuration>
      


      The Compass framework never finds anything like compass.mapping.xml, regardless of meta-data is resource, jar or file. Even absolute paths don't meet the file. Here some of the stack traces I see the last couple of days.

      16:00:48,734 INFO CompassConfiguration Configuring from resource [/compass.cfg.xml]
      16:00:48,843 ERROR [[/jbpm-console]] Exception sending context initialized event to listener instance of class org.jbpm.web.BootstrapListener
      org.compass.core.config.ConfigurationException: No mapping match resource [/compass.mapping.xml]
      at org.compass.core.config.CompassConfiguration.addResource(CompassConfiguration.java:468)
      at org.compass.core.config.builder.DTDConfigurationBuilder.processCompass(DTDConfigurationBuilder.java:71)
      at org.compass.core.config.builder.DTDConfigurationBuilder.doProcess(DTDConfigurationBuilder.java:46)
      at org.compass.core.config.builder.AbstractXmlConfigurationBuilder.doConfigure(AbstractXmlConfigurationBuilder.java:73)
      at org.compass.core.config.builder.AbstractInputStreamConfigurationBuilder.configure(AbstractInputStreamConfigurationBuilder.java:89)
      at org.compass.core.config.builder.AbstractInputStreamConfigurationBuilder.configure(AbstractInputStreamConfigurationBuilder.java:67)
      at org.compass.core.config.builder.SmartConfigurationBuilder.configure(SmartConfigurationBuilder.java:51)
      at org.compass.core.config.CompassConfiguration.configure(CompassConfiguration.java:316)
      at org.compass.gps.device.hibernate.embedded.CompassEventListener.initCompassHolder(CompassEventListener.java:396)
      at org.compass.gps.device.hibernate.embedded.CompassEventListener.getCompassHolder(CompassEventListener.java:351)
      at org.compass.gps.device.hibernate.embedded.CompassEventListener.initialize(CompassEventListener.java:151)
      at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:417)
      at org.hibernate.cfg.Configuration.getInitializedEventListeners(Configuration.java:1310)
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
      at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSessionFactory(DbPersistenceServiceFactory.java:105)
      at org.jbpm.persistence.db.DbPersistenceService.getSessionFactory(DbPersistenceService.java:95)
      at org.jbpm.persistence.jta.JtaDbPersistenceService.isJtaTransactionInProgress(JtaDbPersistenceService.java:67)
      at org.jbpm.persistence.jta.JtaDbPersistenceService.<init>(JtaDbPersistenceService.java:45)
      at org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory.openService(JtaDbPersistenceServiceFactory.java:66)
      at org.jbpm.svc.Services.getService(Services.java:177)
      at org.jbpm.svc.Services.getPersistenceService(Services.java:231)
      at org.jbpm.JbpmContext.getPersistenceService(JbpmContext.java:705)
      at org.jbpm.JbpmContext.getGraphSession(JbpmContext.java:638)
      at org.jbpm.web.BootstrapListener.contextInitialized(BootstrapListener.java:54)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
      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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
      at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      at org.apache.catalina.core.StandardContext.init(StandardContext.java:5312)
      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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
      at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
      at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
      at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
      at org.jboss.web.WebModule.startModule(WebModule.java:83)
      at org.jboss.web.WebModule.startService(WebModule.java:61)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
      at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
      at $Proxy0.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:417)
      at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
      


      Any ideas? Any different approach? Is there another search engine someone managed to integrate?