Deploy Problem

68 views
Skip to first unread message

Emiliano

unread,
Feb 9, 2015, 10:41:46 AM2/9/15
to openlega...@googlegroups.com
On a new server with Tomcat 7 I deplyed a war file.
When I start the app I received:
FAIL - Application at context path /MagaDemo could not be started

Looking in the Apache log file I found this:
org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.openlegacy.terminal.mvc.web.ScreenBindUtils#0': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException:
Could not autowire field: private org.openlegacy.terminal.support.binders.MultyScreenTableBindUtil org.openlegacy.terminal.mvc.web.ScreenBindUtils.multyScreenTableBindUtil; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No unique bean of type [org.openlegacy.terminal.support.binders.MultyScreenTableBindUtil] is defined: expected single matching bean but found 2: [org.openlegacy.terminal.support.binders.MultyScreenTableBindUtil#0, org.openlegacy.terminal.support.binders.MultyScreenTableBindUtil#1]

I previously deployed your rest demo with success. Any hints ?

Roi Mor

unread,
Feb 9, 2015, 11:06:23 AM2/9/15
to openlega...@googlegroups.com
Delete the target folder before running build-war.
It typically happens since 2 JAR's with different timestamp exists.

Emiliano

unread,
Feb 10, 2015, 3:47:02 AM2/10/15
to openlega...@googlegroups.com
Deleted target folder, built war file, deployed and started successfully toTomcat 7.
When I browse for it, only the preloader appears.
Attached a fiddler track.
fiddler.JPG

Roi Mor

unread,
Feb 10, 2015, 4:09:01 AM2/10/15
to openlega...@googlegroups.com
Please see tomcat logs for stack trace

Emiliano

unread,
Feb 10, 2015, 6:53:52 AM2/10/15
to openlega...@googlegroups.com
10-Feb-2015 12:53:07.634 SEVERE [http-nio-8088-exec-25] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [appServlet] in context with path [/MagaDemo] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: The resource path [app/js/app/controllers.js] is not valid] with root cause
 java.lang.IllegalArgumentException: The resource path [app/js/app/controllers.js] is not valid
 at org.apache.catalina.webresources.StandardRoot.validate(StandardRoot.java:250)
 at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:212)
 at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:206)
 at org.apache.catalina.core.ApplicationContext.getResource(ApplicationContext.java:557)
 at org.apache.catalina.core.ApplicationContextFacade.getResource(ApplicationContextFacade.java:199)
 at org.openlegacy.spa.AbstractAngularController.initTemplate(AbstractAngularController.java:94)
 at org.openlegacy.spa.AbstractAngularController.getController(AbstractAngularController.java:69)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
 at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
 at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
 at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
 at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
 at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
 at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
 at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
 at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Unknown Source)
Message has been deleted

to...@openlegacy.com

unread,
Feb 10, 2015, 10:20:13 AM2/10/15
to openlega...@googlegroups.com
Hey,

I ran your app with Apache 7 and it seems to work fine.
Try to do Project > Clean and then rebuild your WAR and run it.

Tom

Emiliano

unread,
Feb 10, 2015, 12:20:13 PM2/10/15
to openlega...@googlegroups.com
After a clean the app runs on the new server, not on my local machine ... I will investigate.
Now I can't login: i asked for some info to my IT guy, but I ask to you: I need to install some third party tools on the web server (like IBM iClient Access) ?

Roi Mor

unread,
Feb 10, 2015, 1:08:14 PM2/10/15
to openlega...@googlegroups.com
There is no need for any 3rd party software beside Java and Tomcat.
If you can't login, check out the logs. They should indicate what is the problem.

Emiliano

unread,
Feb 11, 2015, 3:36:25 AM2/11/15
to openlega...@googlegroups.com
127.0.0.1 - - [11/Feb/2015:09:11:31 +0100] "GET /MagaDemo/app/ HTTP/1.1" 200 2957
127.0.0.1 - - [11/Feb/2015:09:11:31 +0100] "GET /MagaDemo/app/bootstrap/css/font-awesome.min.css HTTP/1.1" 200 22124
127.0.0.1 - - [11/Feb/2015:09:11:31 +0100] "GET /MagaDemo/app/bootstrap/css/datepicker.css HTTP/1.1" 200 4953
127.0.0.1 - - [11/Feb/2015:09:11:31 +0100] "GET /MagaDemo/app/css/project.css HTTP/1.1" 200 157
127.0.0.1 - - [11/Feb/2015:09:11:31 +0100] "GET /MagaDemo/app/js/app/app.js_ng HTTP/1.1" 200 6926
127.0.0.1 - - [11/Feb/2015:09:11:31 +0100] "GET /MagaDemo/app/js/app/controllers.js_ng HTTP/1.1" 200 10894
127.0.0.1 - - [11/Feb/2015:09:11:38 +0100] "POST /MagaDemo/login HTTP/1.1" 400 36
127.0.0.1 - - [11/Feb/2015:09:24:21 +0100] "POST /MagaDemo/login HTTP/1.1" 400 36
127.0.0.1 - - [11/Feb/2015:09:32:12 +0100] "POST /MagaDemo/login HTTP/1.1" 400 36

Http Error 400: bad request ...

Login via telnet is ok.


Il giorno martedì 10 febbraio 2015 19:08:14 UTC+1, Roi Mor ha scritto:

Roi Mor

unread,
Feb 11, 2015, 3:58:05 AM2/11/15
to openlega...@googlegroups.com
There is probably a stack trace on the catalina out or err log.

Emiliano

unread,
Feb 11, 2015, 5:27:07 AM2/11/15
to openlega...@googlegroups.com
Today I unistalled Java and Tomcat, then installed JRE7u75 both 32 and 64 (I'm on a Windows Server 2008 R2 64) and finally Tomcat7 and deployed MagaDemo.war .
Then I tryed to login without success.
Attached all the log files ... I'm a bit frustrated


Il giorno mercoledì 11 febbraio 2015 09:58:05 UTC+1, Roi Mor ha scritto:
catalina.2015-02-11.zip

Roi Mor

unread,
Feb 11, 2015, 2:08:03 PM2/11/15
to openlega...@googlegroups.com
Emiliano,

I see the problem in the log. Seems that the screens API classes or not loaded to the screens registry at all (including login entity).
Make sure the WAR contains in WEB-INF/classes/com/demomag/openlegacy all your screens class files.
They should be in /target/classes in eclipse before running build-war (use navigator view to verify they exists).

Seems like a clean/compile/build issue.
It may happen if project -> build automatically is turned off.

OpenLegacy decides which java class packages to load to registry based on the definition in applicationContext.xml:

<bean id="screensRegistry" class="org.openlegacy.terminal.support.DefaultScreenEntitiesRegistry">
   <property name="packages">
       <list>
           <value>com.demomag.openlegacy</value>
            </list>
   </property>
    </bean>


2015-02-11 10:57:36,059 ERROR [http-bio-8080-exec-10] mvc.AbstractRestController - Invalid login
org.openlegacy.exceptions.RegistryException: LoginModule entity doesn't contain a login screen definition. Verify one of your screen entity classes is defined as @ScreenEntity(screenType = Login.LoginEntity.class)
at org.openlegacy.terminal.modules.login.DefaultTerminalLoginModule.login(DefaultTerminalLoginModule.java:86)

A successful API load should show in the log (example):
2015-02-11 21:06:52,381 INFO  [main] support.ScreenEntityAnnotationLoader - Screen "WarehouseDetails" was added to the screen registry (apps.inventory.screens.WarehouseDetails)

Emiliano

unread,
Feb 12, 2015, 3:28:17 AM2/12/15
to openlega...@googlegroups.com
In fact I turned off Build Auto opyion ... darn!

I finally solved the problem copying brutally the entyre folder to the Tomcat directory.

After some test a user reported an issue: he tryed to login with different devices (one with Lollipop and Chorme, another with Android 4.4.2 and Stock)  but he saw the loader running and never get in.

Emiliano

unread,
Feb 12, 2015, 6:15:22 AM2/12/15
to openlega...@googlegroups.com
Forget about the login part :-)

Roi Mor

unread,
Feb 12, 2015, 12:27:56 PM2/12/15
to openlega...@googlegroups.com
Not sure I understand if there is a pending problem.
For any loading problem, look at the server logs.

Emiliano

unread,
Feb 12, 2015, 1:00:53 PM2/12/15
to openlega...@googlegroups.com
Nope, all is ok now. TY
Reply all
Reply to author
Forward
0 new messages