cancel
Showing results for 
Search instead for 
Did you mean: 

Activiti Modeler/ JBoss 5:Path error because of archive name

mskaesz
Champ in-the-making
Champ in-the-making
Hey guys,

I deployed activiti-modeler5.alpha4 successfully in JBoss 5.1. When clicking on "New Business Process Diagram" the following exception occurs:

17:02:24,049 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
17:02:24,155 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
17:02:24,180 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 1m:2s:205ms
17:02:45,681 INFO  [STDOUT] /home/msk/opt/jboss-5.1.0.GA/server/default/deploy/activiti-modeler/editor/stencilsets/bpmn2.0/bpmn2.0.json
17:02:45,713 ERROR [STDERR] com.signavio.platform.exceptions.RequestException: RequestException Error Code: editor.stencilset.exception
17:02:45,723 ERROR [STDERR]    at com.signavio.platform.exceptions.RequestException.fillInStackTrace(RequestException.java:50001)
17:02:45,723 ERROR [STDERR]    at java.lang.Throwable.<init>(Throwable.java:218)
17:02:45,723 ERROR [STDERR]    at java.lang.Exception.<init>(Exception.java:59)
17:02:45,723 ERROR [STDERR]    at java.lang.RuntimeException.<init>(RuntimeException.java:61)

The war is exploded and has the following name: activiti-modeler.war

The problem is that the modeler checks for everything under the following path:
/home/msk/opt/jboss-5.1.0.GA/server/default/deploy/activiti-modeler/

The correct path is this one:
/home/msk/opt/jboss-5.1.0.GA/server/default/deploy/activiti-modeler.war/

I can't remove the ending ".war" - JBoss needs it for deploying… Any ideas how i can fix that?

Cheers,
Marc


/EDIT:

Added a jboss-web.xml with the following content:

<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE jboss-web
    PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">

<jboss-web>
   <context-root>activiti-modeler.war</context-root>
</jboss-web>

But it is still not working… it seems that the jboss-web.xml is ignored:

2010-08-04 17:32:20,616 INFO  [org.activiti.impl.ProcessEngineImpl] (main) ProcessEngine default created
2010-08-04 17:32:20,616 INFO  [org.activiti.ProcessEngines] (main) initialised process engine default
2010-08-04 17:32:20,811 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/activiti-modeler
2010-08-04 17:32:20,903 INFO  [com.signavio.platform.listeners.EntryPoint] (main) Initializing platform…
2010-08-04 17:32:21,001 INFO  [STDOUT] (main) [INFO] Initializing Root Directory…
2010-08-04 17:32:21,002 INFO  [STDOUT] (main) [INFO] Root directory path: /home/msk/activiti-model-repository
2010-08-04 17:32:21,008 INFO  [STDOUT] (main) [INFO] Initialized Root Directory!
2010-08-04 17:32:22,994 INFO  [com.signavio.platform.listeners.EntryPoint] (main) Done initializing platform!
11 REPLIES 11

jbarrez
Star Contributor
Star Contributor
We havent got to testing the modeler war on JBos yet, but it's certainly on our todo list for the 5.0 release.

I don't see another solution than also changing the path to .war for Tomcat.

sstolarczyk
Champ in-the-making
Champ in-the-making
Sorry for digging this topic up, but I thought someone could use this info:

There's indeed a problem like the one described by the thread author: the Modeler app can't find the file resourses, because it looks at a different path (JBoss expands web applications to a folder with ".war" added to it's name). The simpliest workaround for those of you wanting to run Activiti suite on JBoss, just create the activiti-modeler directory in your web app directory (ie. /jboss-5.1.0.GA/server/default/deploy), and copy both the editor and explorer directories from the activiti-modeler.war into it. Now the application will be able to find the required resources.

Edit: Besides the Activit-Modeler minor problems, every other application from Activiti stack (Explorer, Probe, Cycle etc.) works OK (I just had to include the jboss-classloading.xml file in each of them, due to some classloading conflicts between JBoss default libs and those provided with Activiti apps).

jbarrez
Star Contributor
Star Contributor
Great findings! Thanks for sharing!

kristin_polenz
Champ in-the-making
Champ in-the-making
I try to deploy the Activiti WebApps in JBoss 5.1.0.GA. I put a jboss-classloading.xml in the WEB-INF directory of the WebApps to isolate the WebApp libraries from the JBoss libs. But I get the following exception:

16:16:45,687 INFO  [ReadOnlyStoreObjectPersister] Store missing for persister: webframework.sitedata.persister.classpath.alfresco-custom
16:16:45,687 INFO  [ReadOnlyStoreObjectPersister] Store missing for persister: webframework.sitedata.persister.alfresco-classpath
16:16:45,718 ERROR [DispatcherServlet] Context initialization failed
org.springframework.extensions.webscripts.WebScriptException: 10220001 Unable to resolve a vfsfile: resource without a storeDir.

I have no idea where I can configure/change the persister for webframework.sitedata.persister.alfresco-classpath and webframework.sitedata.persister.classpath.alfresco-custom.
Could somebody help me, please?

Thanks, kristin

frederikherema1
Star Contributor
Star Contributor
Seems to be an issue with the ReadOnlyStoreObjectPersister using an unexisting store to save web script definitions/implementations.

Since I don't know the spring surf framework internals that well, I'll send a mail to the right man for this job, maybe he can take a look at this Smiley Wink

erikwinlof
Confirmed Champ
Confirmed Champ
THe beans aren't actually used so try and override the bean that is referencing them using:

   <bean id="webframework.objects.persister" class="org.springframework.extensions.surf.persister.MultiObjectPersister">
      <property name="serviceRegistry" ref="webframework.service.registry" />     
      <property name="persisters">
         <list>
        
            <!– Persisters –>
            <!–
            <ref bean="webframework.webinf.persister.remote" />
            <ref bean="webframework.webinf.persister.local" />
            <ref bean="webframework.webinf.persister.root" />
            –>
           
            <!– Alfresco Legacy Persisters –>
            <!– Remove these from being referenced –>
            <ref bean="webframework.sitedata.persister.classpath.alfresco-custom" />
            <ref bean="webframework.sitedata.persister.alfresco-classpath" />
           
            <!– Classpath Persister –>
            <ref bean="webframework.sitedata.persister.classpath" />
           
         </list>
      </property>
      <property name="defaultPersister">

         <!– Default Persister –>
         <!–
         <ref bean="webframework.webinf.persister.root" />
         –>

         <!– Legacy Persister –>
         <ref bean="webframework.sitedata.persister.classpath" />

      </property>
   </bean>

kristin_polenz
Champ in-the-making
Champ in-the-making
I tried again the deployment of Activiti-5.1. in JBoss-5.1.0.GA and I had some problems.
First, I get a exception with the following stacktrace when I call activiti-probe (localhost:8080/activiti-probe) in my browser.

17:40:17,234 ERROR [FrameworkUtil] org.springframework.extensions.surf.exception.RendererExecutionException: WebTemplateProcessor failed to process template uri: login
        at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:370)
        at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:79)
        at org.springframework.extensions.surf.render.RenderService.processTemplate(RenderService.java:581)
        at org.springframework.extensions.surf.render.bean.TemplateInstanceRenderer.calculateComponentDependencies(TemplateInstanceRenderer.java:69)
        at org.springframework.extensions.surf.render.bean.TemplateInstanceRenderer.body(TemplateInstanceRenderer.java:126)
        at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:135)
        at org.springframework.extensions.surf.render.bean.PageRenderer.body(PageRenderer.java:70)
        at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:135)
        at org.springframework.extensions.surf.render.RenderService.startPageRenderer(RenderService.java:633)
        at org.springframework.extensions.surf.render.RenderService.renderPage(RenderService.java:610)
        at org.springframework.extensions.surf.render.PresentationUtil.renderPage(PresentationUtil.java:74)
        at org.springframework.extensions.surf.mvc.PageView.dispatchPage(PageView.java:358)
        at org.springframework.extensions.surf.mvc.PageView.renderView(PageView.java:240)
        at org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:167)
        at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
        at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
        at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:195)
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:159)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.util.MissingResourceException: Can't find bundle for base name messages.activiti-i18n-app, locale de_DE
        at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
        at java.util.ResourceBundle.getBundle(ResourceBundle.java:777)
        at org.springframework.extensions.surf.util.I18NUtil.getLocaleProperties(I18NUtil.java:445)
        at org.springframework.extensions.surf.util.I18NUtil.getMessage(I18NUtil.java:329)
        at org.springframework.extensions.surf.util.I18NUtil.getMessage(I18NUtil.java:359)
        at org.springframework.extensions.surf.util.I18NUtil.getMessage(I18NUtil.java:346)
        at org.springframework.extensions.surf.exception.PlatformRuntimeException.resolveMessage(PlatformRuntimeException.java:126)
        at org.springframework.extensions.surf.exception.PlatformRuntimeException.<init>(PlatformRuntimeException.java:99)
        at org.springframework.extensions.webscripts.WebScriptException.<init>(WebScriptException.java:54)
        at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:160)
        at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:338)
        … 52 more

Second, I can't deploy activiti-rest.war. The short exception snapshot of the complete stacktrace is:
17:40:01,093 ERROR [[/activiti-rest]] Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.util.MissingResourceException: Can't find bundle for base name messages.activiti-i18n-app, locale de_DE


Can somebody help me?

Thanks, kristin

frederikherema1
Star Contributor
Star Contributor
Looks like the messages for the probe UI don't default when the locale of your browser is not supported (in your case de_DE).

Have you tried to change your browser's locale to en_US or something simmilar?

kristin_polenz
Champ in-the-making
Champ in-the-making
Hi Frederik,

yes I tried, but I get the same exception only with another locale.
For example, when I change the locale in my browser from de to en_us then the exception change to:
Caused by: java.util.MissingResourceException: Can't find bundle for base name messages.activiti-i18n-app, locale en_US


I wondered me, why I get this exception when I try to deploy the activiti-rest.war? In this war is no properties file named messages.actviti-i18n-app.