| Problems moving to latest serverside OSGI code [message #63109] | 
Thu, 02 March 2006 18:55   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
We have been using the bride.war published in the Incubator page in  
mid-January. I wanted to move to the latest code (in CVS HEAD) and have  
run into several problems. Before I go into details I would encourage some  
process change to have the WAR produced and published by Equinox (in the  
build process or ourside of it). I tried to do it manually and found it to  
be very error prone and problematic. 
 
Here are the issues I had to resolve 
 
1. An eclipse extension registry change required moving to 3.2M5 plugins.  
I replaced existing M4 plug-ins. If there are additional dependent  
plug-ins required I did not check for them. 
2. There was an undeclared dependency org.eclipse.equinox.servlet.api that  
was eventually discovered in config.ini. Without it OSGI failed to start.  
It would have helped if this dependency were declared in one of the other  
equiniox.server bundles. 
 
Here are the issues I have not been able to resolve: 
 
1. Not all the bundles in the WAR are being discovered. They are in the  
WAR but missing from the bundles list when OSGI is up. The are in the  
/platform/plugins directory of the deployed WAR and the framework runtime  
directory. For example we require EMF and all the EMF bundles were missing  
from the list. I added them to the config.ini and they went to resolve  
state but I am working with dozens of bundles (and the list is not static)  
so this approach won't work. 
 
2. The other bundles that are not missing are in INSTALL state. This  
includes our servlet so nothing works. 
 
To simplify the issue, I added a single bundle with no dependencies that  
defined a servlet extension and it was also in INSTALL state. As such it  
the servlet was not discovered during initialization. I can't account for  
the missing ones though. 
 
It would seem that the update configurator is not doing its job correctly. 
 
I suggestions would be welcome. 
 
Finally, I would like to reiterate an process for a regularly updated WAR.  
A war file with the name of the CVS tag of the code used to produce it  
would be useful so the source code can be related. 
 
Thanks, 
 
Jim D'Anjou
 |  
 |  
  | 
 | 
 | 
| Re: Problems moving to latest serverside OSGI code [message #63179 is a reply to message #63109] | 
Thu, 02 March 2006 23:23   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: skaegi.sympatico.ca 
 
Hi Jim, 
 
I hope your problems are resolved in my other reply on this thread. 
 
For questions/comments on builds and equinox.servlet.api bundle 
> ...I would encourage some 
> process change to have the WAR produced and published by Equinox (in the 
> build process or ourside of it). I tried to do it manually and found it to 
> be very error prone and problematic. 
 
There was a recent thread on the dev list that briefly mentioned this and 
the server-side incubator is working towards integrating with the main 
equinox nightly build. 
Before this is done though I'd like to do a final transition to bundle names 
and package names that take in to account what is and isn't API. 
This move and reorganization of the code should happen within the next week 
or so with more details to follow. (see bug 128059) 
My main motivation here is I don't want to do build integration twice, 
especially since I'll probably need a bit of help. 
 
> 
> There was an undeclared dependency org.eclipse.equinox.servlet.api that 
> was eventually discovered in config.ini. Without it OSGI failed to start. 
> It would have helped if this dependency were declared in one of the other 
> equiniox.server bundles. 
The use of the equinox.servlet.api in config.ini is a bit of a short-term 
band-aid. I'm working on something more flexible to provide both 2.3 and 
when applicable 2.4 support. So... this bundle will be replaced with 
something dynamically generated (either system fragments or dummy bundles 
that just do the servlet exports) 
Using package imports instead of a bundle dependency lets this change happen 
seamlessly. 
 
At dev time in the IDE though the equinox.servlet.api is still needed. 
I've had a few issues in M5 with javax.servlet packages resolving to the 
x-internal tomcat copy of servlet.jar. I'd recommend that 
org.eclipse.equinox.servlet.api be "installed" instead of just in your 
workspace. 
 
Hope some of this helps clarify things a bit. 
 
-Simon 
 
"Jim D'Anjou" <danjou@us.ibm.com> wrote in message 
news:b3a1b95fad09f453be41dc3d92499300$1@www.eclipse.org... 
> We have been using the bride.war published in the Incubator page in 
> mid-January. I wanted to move to the latest code (in CVS HEAD) and have 
> run into several problems. Before I go into details I would encourage some 
> process change to have the WAR produced and published by Equinox (in the 
> build process or ourside of it). I tried to do it manually and found it to 
> be very error prone and problematic. 
> 
> Here are the issues I had to resolve 
> 
> 1. An eclipse extension registry change required moving to 3.2M5 plugins. 
> I replaced existing M4 plug-ins. If there are additional dependent 
> plug-ins required I did not check for them. 
> 2. There was an undeclared dependency org.eclipse.equinox.servlet.api that 
> was eventually discovered in config.ini. Without it OSGI failed to start. 
> It would have helped if this dependency were declared in one of the other 
> equiniox.server bundles. 
> 
> Here are the issues I have not been able to resolve: 
> 
> 1. Not all the bundles in the WAR are being discovered. They are in the 
> WAR but missing from the bundles list when OSGI is up. The are in the 
> /platform/plugins directory of the deployed WAR and the framework runtime 
> directory. For example we require EMF and all the EMF bundles were missing 
> from the list. I added them to the config.ini and they went to resolve 
> state but I am working with dozens of bundles (and the list is not static) 
> so this approach won't work. 
> 
> 2. The other bundles that are not missing are in INSTALL state. This 
> includes our servlet so nothing works. 
> 
> To simplify the issue, I added a single bundle with no dependencies that 
> defined a servlet extension and it was also in INSTALL state. As such it 
> the servlet was not discovered during initialization. I can't account for 
> the missing ones though. 
> 
> It would seem that the update configurator is not doing its job correctly. 
> 
> I suggestions would be welcome. 
> 
> Finally, I would like to reiterate an process for a regularly updated WAR. 
> A war file with the name of the CVS tag of the code used to produce it 
> would be useful so the source code can be related. 
> 
> Thanks, 
> 
> Jim D'Anjou 
> 
> 
> 
> 
> 
>
 |  
 |  
  | 
Powered by 
FUDForum. Page generated in 0.04485 seconds