Exported Scout application not working [message #1407677] |
Wed, 13 August 2014 03:34  |
Eclipse User |
|
|
|
I currently have the issue that I would like to export my Scout-Application as an EAR-File to run on a Websphere Applcation Server Liberty Profile. As long as I am running the application from within the workspace everything works fine. The different product files give no errors when validating them. But when trying to run the exported EAR-file on the application server I get a lot of error messages that are telling me that it is not able to resolve a lot of the bundles and throws mutltiple ClassNotFoundExceptions.
One example:
org.osgi.framework.BundleException: test.prototype.shared [80]
Another singleton bundle selected: osgi.identity; osgi.identity="test.prototype.shared"; type="osgi.bundle"; version:Version="1.0.0.201408121450"; singleton:="true"
at org.eclipse.osgi.internal.framework.EquinoxBundle.getModuleClassLoader(EquinoxBundle.java:589)
at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:564)
at org.eclipse.scout.commons.osgi.BundleListClassLoader.doLoadClass(BundleListClassLoader.java:273)
at org.eclipse.scout.commons.osgi.BundleListClassLoader.loadClass(BundleListClassLoader.java:210)
at org.eclipse.scout.commons.osgi.BundleObjectInputStream.resolveClass(BundleObjectInputStream.java:56)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readClass(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at java.util.HashMap.readObject(Unknown Source)
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 java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.eclipse.scout.commons.serialization.AbstractObjectSerializer.deserialize(AbstractObjectSerializer.java:90)
at org.eclipse.scout.rt.shared.servicetunnel.DefaultServiceTunnelContentHandler.getData(DefaultServiceTunnelContentHandler.java:382)
at org.eclipse.scout.rt.shared.servicetunnel.DefaultServiceTunnelContentHandler.read(DefaultServiceTunnelContentHandler.java:364)
at org.eclipse.scout.rt.shared.servicetunnel.DefaultServiceTunnelContentHandler.readResponse(DefaultServiceTunnelContentHandler.java:315)
at org.eclipse.scout.rt.servicetunnel.http.internal.HttpBackgroundExecutable.run(HttpBackgroundExecutable.java:94)
at org.eclipse.scout.rt.client.servicetunnel.http.internal.InternalClientHttpServiceTunnel$2.runStatus(InternalClientHttpServiceTunnel.java:207)
at org.eclipse.scout.rt.client.ClientJob.runTransactionWrapper(ClientJob.java:172)
at org.eclipse.scout.rt.client.ClientJob.run(ClientJob.java:159)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
These errors occur for the rap module, shared, client, client.mobile.
Before this in the log there are a multiple ClassNotFoundExceptions starting with the following one:
java.lang.ClassNotFoundException: org.eclipse.osgi.internal.baseadaptor.BaseHookConfigurator
at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:390)
at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:247)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:366)
at org.eclipse.equinox.servletbridge.FrameworkLauncher$ChildFirstURLClassLoader.loadClass(FrameworkLauncher.java:1028)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.eclipse.osgi.internal.hookregistry.HookRegistry.loadConfigurators(HookRegistry.java:185)
at org.eclipse.osgi.internal.hookregistry.HookRegistry.initialize(HookRegistry.java:106)
at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:73)
at org.eclipse.osgi.launch.Equinox.<init>(Equinox.java:31)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:297)
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.eclipse.equinox.servletbridge.FrameworkLauncher.start(FrameworkLauncher.java:409)
at org.eclipse.equinox.servletbridge.BridgeServlet.init(BridgeServlet.java:97)
at javax.servlet.GenericServlet.init(GenericServlet.java:161)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:324)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1368)
at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:1091)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:1059)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:965)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6049)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:421)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.createRunnableHandler(DynamicVirtualHost.java:241)
at com.ibm.ws.http.internal.VirtualHostImpl.discriminate(VirtualHostImpl.java:182)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:169)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:448)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:382)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:282)
at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:253)
at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:174)
at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:83)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:502)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:550)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:899)
at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:981)
at com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439)
at com.ibm.ws.threading.internal.Worker.run(Worker.java:421)
at java.lang.Thread.run(Unknown Source)
Maybe someone has got an idea what the issue could be?
EDIT:
The application is starting when I try to access the web-client. However when leaving the loading screen the same Error-Message Box appears like in the case when I have forgotten to start my MySqlDB (And no I have checked multiple times whether the DB is running - so this is unfortunately not the solution to the problem). As I only get the MessageBox in German the translation into English should be something like: The original Error Message is: Processing Exception
EDIT2:
The only error printed in red in the console, maybe that helps someone to get an idea what might be wrong:
[err] at org.eclipse.scout.rt.servicetunnel.AbstractServiceTunnel.invokeService(AbstractServiceTunnel.java:120)
[err] at org.eclipse.scout.rt.servicetunnel.http.internal.AbstractInternalHttpServiceTunnel.invokeService(AbstractInternalHttpServiceTunnel.java:132)
[err] at org.eclipse.scout.rt.client.servicetunnel.http.ClientHttpServiceTunnel.invokeService(ClientHttpServiceTunnel.java:121)
[err] at org.eclipse.scout.rt.servicetunnel.ServiceTunnelInvocationHandler.invoke(ServiceTunnelInvocationHandler.java:48)
[err] at com.sun.proxy.$Proxy20.getParentAccounts(Unknown Source)
[err] at test.prototype.client.services.CachingService.getParentAccounts(CachingService.java:686)
[err] at test.prototype.client.services.CachingService.<init>(CachingService.java:204)
[err] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[err] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[err] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[err] at java.lang.reflect.Constructor.newInstance(Unknown Source)
[err] at java.lang.Class.newInstance(Unknown Source)
[err] at org.eclipse.scout.rt.client.services.ClientServiceFactory.updateInstanceCache(ClientServiceFactory.java:129)
[err] at org.eclipse.scout.rt.client.services.ClientServiceFactory.getService(ClientServiceFactory.java:87)
[err] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
[err] at java.security.AccessController.doPrivileged(Native Method)
[err] at [internal classes]
The strange thing is that I already had it working somehow, afterwards only switched from configuring the sql service by overriding the methods to configuring it through the config.ini. Switching back to overwriting does not solve the problem.
[Updated on: Thu, 14 August 2014 03:04] by Moderator
|
|
|
|
|
|
|
Re: Exported Scout application not working [message #1413413 is a reply to message #1410607] |
Thu, 28 August 2014 09:12  |
Eclipse User |
|
|
|
Lukas Steigerwald wrote on Thu, 21 August 2014 09:30Next strange thing I discovered is the following in the config.ini of the server:
org.eclipse.scout.rt.server.services.common.file.RemoteFileService#rootPath=C:/[...]/com.ibm.ilm.prototype.server/j2ee/ear/war/WEB-INF/remotefiles
So here is another absolute path. What is this path for?
I think this configuration is useful if you use the RemoteFileService provided by Eclipse Scout. Otherwise it can be ignored (and removed).
The problem is that a lot of services are registered in the Scout Framework itself (for example org.eclipse.scout.rt.client). This is the case for org.eclipse.scout.rt.shared.services.common.file.IRemoteFileService and therefore the SDK creates an entry in the config.ini to initialize the service [side note: I give you right, the absolute path is still questionable].
The idea with BUG 410328 is to remove all those service registrations from the Scout framework plug-ins, allowing each scout project to decide what they want to use (and register in the project specific plug-ins).
|
|
|
Powered by
FUDForum. Page generated in 0.05390 seconds