Dear Maxim,
As you suggested, here are the use cases and their results done in multiple
environments. We did at least 30 use cases / tests (Environments used: CentOS
7.5.0 / 7.0 + MariaDB 10.3.9 / 10.0.16, JDK 1.8.181 / 1.8.162, Maven 3.5.4 /
3.5.2). Each time, a new ./m2 repository/openmeetings was downloaded and a new
DB was created.
* OM-4.0.1 Builds and installs successfully.
* OM-4.0.4/4.0.5 Build success. Installation ERROR: All giving
MissingResourceException or WicketRuntimeException
We understand the effort you put in 2015 to restructure SVN tree and then
refactor older tree structure (that used Ant) to the current (that uses Maven).
Here is a question / suggested solution to make OM scalable to multiple
environments, particularly enterprise-grade. This will attract more users,
thereby growing the community.
Would it be better to place Application.properties.xml in a separate
src/main/resources directory, and include this resources directory in runtime
classpath? The intent is to help the product be more amenable to more rigorous
environments with stringent governing rules.
=========RESULTS: MissingResourceException and
WicketRuntimeException===========================
USE CASE: VANILLA BINARY: 4.0.5-SNAPSHOT (from Jenkins) and 4.0.4
(openmeetings general release): Works fine.
SOURCE CODE COMPILATION:
4.0.1: Builds and Installs successfully
4.0.4 / 4.0.5: Builds successfully. Installation error
Log error summary
Web install method
org.apache.wicket.WicketRuntimeException: Can't instantiate
page using constructor 'public
org.apache.openmeetings.web.pages.install.InstallWizardPage()'. An exception
has been thrown during construction!
Caused by: java.lang.reflect.InvocationTargetException: null
Caused by: java.util.MissingResourceException: Unable to find
property: 'install.wizard.install.header' for component:
[class=org.apache.openmeetings.web.pages.install.InstallWizardPage]. Locale:
null, style: null
CLI: ./admin.sh
java.util.MissingResourceException: Unable to find property:
'108' for component: signin
[class=org.apache.openmeetings.web.pages.auth.SignInDialog]. Locale: null,
style: null
java.util.MissingResourceException: Unable to find property:
'114' for component: signin:signin
[class=org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm]. Locale:
null, style: null
DETAILED LOGS
================
Web Install
-----------
[1;31mERROR[0;39m 08-16 19:41:32.461 [36mo.a.w.DefaultExceptionMapper:170
[<IP>-<port>-exec-2][0;39m - Unexpected error occurred
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor 'public
org.apache.openmeetings.web.pages.install.InstallWizardPage()'. An exception
has been thrown during construction!
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
at
org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:90)
at
org.apache.wicket.core.request.handler.PageProvider$Provision.getPage(PageProvider.java:380)
at
org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:171)
at
org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:231)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912)
at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
at
org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:84)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:175)
... 37 common frames omitted
Caused by: java.util.MissingResourceException: Unable to find property:
'install.wizard.install.header' for component:
[class=org.apache.openmeetings.web.pages.install.InstallWizardPage]. Locale:
null, style: null
at org.apache.wicket.Localizer.getString(Localizer.java:269)
at org.apache.wicket.Localizer.getString(Localizer.java:201)
at org.apache.wicket.Localizer.getString(Localizer.java:131)
at org.apache.wicket.Component.getString(Component.java:1829)
at org.apache.wicket.Component.getString(Component.java:1816)
at
org.apache.openmeetings.web.pages.install.InstallWizardPage.<init>(InstallWizardPage.java:36)
... 42 common frames omitted
CLI Install
--------------
[1;31mERROR[0;39m 08-16 19:45:58.398 [36mo.a.w.DefaultExceptionMapper:170
[<IP>-<port>-exec-2][0;39m - Unexpected error occurred
java.util.MissingResourceException: Unable to find property: '108' for
component: signin [class=org.apache.openmeetings.web.pages.auth.SignInDialog].
Locale: null, style: null
at org.apache.wicket.Localizer.getString(Localizer.java:269)
at org.apache.wicket.Localizer.getString(Localizer.java:201)
at org.apache.wicket.Localizer.getString(Localizer.java:131)
at org.apache.wicket.Component.getString(Component.java:1829)
at org.apache.wicket.Component.getString(Component.java:1816)
at
org.apache.openmeetings.web.pages.auth.SignInDialog.onInitialize(SignInDialog.java:102)
at org.apache.wicket.Component.fireInitialize(Component.java:871)
at
org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1043)
at
org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1039)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
at
org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:975)
at
org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1038)
at org.apache.wicket.Page.isPageStateless(Page.java:461)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:473)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:420)
at
org.apache.wicket.core.request.mapper.MountedMapper.mapHandler(MountedMapper.java:155)
at
org.apache.openmeetings.web.app.Application$NoVersionMapper.mapHandler(Application.java:282)
at
org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:210)
at
org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:449)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:233)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912)
at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
at
org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:84)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
[31mWARN [0;39m 08-16 19:45:58.549 [36mo.a.w.p.RequestAdapter:191
[<IP>-<port>-exec-2][0;39m - An error occurred while checking whether a page
is stateless. Assuming it is stateful.
java.util.MissingResourceException: Unable to find property: '114' for
component: signin:signin
[class=org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm]. Locale:
null, style: null
at org.apache.wicket.Localizer.getString(Localizer.java:269)
at org.apache.wicket.Localizer.getString(Localizer.java:201)
at org.apache.wicket.Localizer.getString(Localizer.java:131)
at org.apache.wicket.Component.getString(Component.java:1829)
at org.apache.wicket.Component.getString(Component.java:1816)
at
org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm.onInitialize(SignInDialog.java:302)
at org.apache.wicket.Component.fireInitialize(Component.java:871)
at
org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1043)
at
org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1039)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
at
org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:975)
at
org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1038)
at org.apache.wicket.Page.isPageStateless(Page.java:461)
at
org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:187)
at
org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:76)
at
org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:79)
at
org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:287)
at org.apache.wicket.Application$2.onDetach(Application.java:1597)
at
org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:105)
at
org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:101)
at
org.apache.wicket.util.listener.ListenerCollection$1.notify(ListenerCollection.java:120)
at
org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144)
at
org.apache.wicket.util.listener.ListenerCollection.reversedNotifyIgnoringExceptions(ListenerCollection.java:113)
at
org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:100)
at
org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:664)
at
org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:609)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:225)
at
org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:84)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Thank you.
Sincerely,
Hemant K. Sabat
www.Coscend.com <http://www.coscend.com/>
------------------------------------------------------------------
Real-time, Interactive Video Collaboration, Tele-healthcare, Tele-education,
Telepresence Services, on the fly…
------------------------------------------------------------------
CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail Messages
from Coscend Communications Solutions' posted at:
http://www.Coscend.com/Anchor/Common/Terms_and_Conditions.html
-----Original Message-----
From: Maxim Solodovnik [mailto:[email protected]]
Sent: Wednesday, August 15, 2018 2:38 AM
To: dev <[email protected]>; [email protected]
Subject: Re: 4.0.5 SNAPSHOT Build and Installation Errors
Which archive are you using?
apache-openmeetings-4.0.5-SNAPSHOT.tar.gz?
it definitely contains all string resources in proper location
Could you
1) download latest apache-openmeetings-4.0.5-SNAPSHOT.tar.gz
2) extract to new, empty folder
3) run ./red-debug.sh
What would be the result?
On Wed, Aug 15, 2018 at 12:29 PM Coscend@OM <[email protected]
<mailto:[email protected]> > wrote:
>
> Dear Maxim,
>
> Below is another validation of Java Exceptions in InstallWizardPage.java and
> SignInDialog.java of Application.properties.xml.
>
> CENTOS 7.0
> +
> JDK 1.8.162
> vs
> JDK 1.8.181
>
> Use case 1: Use OM-405 snapshot “BINARY” from Jenkins
> https://builds.apache.org/view/M-R/view/OpenMeetings/job/OpenMeetings%
> 204.0.x/
> ---------------
> Everything works. Does it use Ubuntu?
>
>
>
> Use case 2: Compiled OM-405 snapshot “SOURCE CODE” from Jenkins
> ---------------
> (A) JDK 1.8.162 + CentOS 7 + Maven 3.5.4 + MariadB 10.0.6 Throws two
> Java exceptions:
> org.apache.wicket.WicketRuntimeException: Can't instantiate
> page using constructor 'public
> org.apache.openmeetings.web.pages.install.InstallWizardPage()'. An exception
> has been thrown during construction!
> Caused by: java.lang.reflect.InvocationTargetException: null
> Caused by: java.util.MissingResourceException: Unable
> to find property: 'install.wizard.install.header' for component:
> [class=org.apache.openmeetings.web.pages.install.InstallWizardPage].
> Locale: null, style: null
>
>
> (B) JDK 1.8.181 + CentOS 7 + Maven 3.5.4 + MariadB 10.0.6 Throws two
> Java exceptions:
> java.util.MissingResourceException: Unable to find property:
> '108' for component: signin
> [class=org.apache.openmeetings.web.pages.auth.SignInDialog]. Locale: null,
> style: null
> java.util.MissingResourceException: Unable to find
> property: '114' for component: signin:signin
> [class=org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm]
> . Locale: null, style: null
>
> Thank you.
>
> Sincerely,
>
---
This email has been checked for viruses by AVG.
https://www.avg.com