Exported Scout application not working [message #1407677] |
Wed, 13 August 2014 07:34 |
Lukas Steigerwald Messages: 47 Registered: July 2014 |
Member |
|
|
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 07:04] Report message to a moderator
|
|
|
|
|
Re: Exported Scout application not working [message #1410228 is a reply to message #1409988] |
Wed, 20 August 2014 06:52 |
Lukas Steigerwald Messages: 47 Registered: July 2014 |
Member |
|
|
Thank you for the reply Matthias. This link looks not too bad, as it works like how the icons should be stored. However what I try to use these icons in a table like described in[1]. I have not yet managed to make the getLogo() method of the LogoService from [1] accept any relative input. I am still trying, but if anyone already knows a good solution that could save me some time.
EDIT:
What I try to do at the moment:
IIconProviderService service = SERVICES.getService(IIconProviderService.class);
byte[] content = service.getIconSpec(imageId).getContent();
where the imageId is the String read from the field in the table.
with the getIconSpec(String imageId) method looking as follows:
@Override
public IconSpec getIconSpec(String iconName) {
byte[] content = Activator.getDefault().getImageFromCache(iconName);
if (content == null) {
return null;
}
instead of the following from [1]:
byte[] content = SERVICES.getService(ILogoService.class).getLogo(imageId);
Unfortunately it seems in this scenario the application tries to get the image from some kind of cache that is not populated when reaching that point in code.
EDIT2:
I guess the most interesting question would be where and how the actual icon is loaded in the case of just setting an icon for e.g. the navigation tree. As far as I managed to step through the source code it was always only the String that is defined in the Icons.class, but never was converted into the actual image.
[1]https://wiki.eclipse.org/Scout/HowTo/4.0/Display_images_in_a_table_page
[Updated on: Wed, 20 August 2014 09:36] Report message to a moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 2.17621 seconds