Skip to main content



      Home
Home » Eclipse Projects » Equinox » Problems moving to latest serverside OSGI code
Problems moving to latest serverside OSGI code [message #63109] Thu, 02 March 2006 18:55 Go to next message
Eclipse UserFriend
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 #63130 is a reply to message #63109] Thu, 02 March 2006 19:16 Go to previous messageGo to next message
Eclipse UserFriend
Just adding that when all our bundles are explicitly started in config.ini
then our app will initialize correctly. That's not a viable option for us,
though. The list is very dynamic.

Jim
Re: Problems moving to latest serverside OSGI code [message #63147 is a reply to message #63130] Thu, 02 March 2006 21:08 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: skaegi.sympatico.ca

Hi Jim,

I agree adding bundles in config.ini is not really viable.
That's a big part of the reason why an updated bridge.war hasn't been posted
on the website.

I was unaware that there were any problems of the type you describe until
just a few days ago.
The problem you're experiencing is that the update.configurator does not
support per instance configuration properties... yet.
If you apply the "update configurator patch" from bug 105851. Everything
should work.

That being said (and also since people like yourself are trying to integrate
against CVS HEAD) I'm going to roll back the per instance configuration
changes in the servlet bridge until the update.configurator contains the
necessary changes. I'll update the bridge.war with an M5 compatible version
as soon as I get the chance.
I'll add a patch to 105851 for anyone using per instance configuration in
the servlet.bridge
Sorry for the inconvenience.

-Simon



"Jim D'Anjou" <danjou@us.ibm.com> wrote in message
news:c8465d58f63ddcc854f3f0d1604e68e0$1@www.eclipse.org...
> Just adding that when all our bundles are explicitly started in config.ini
> then our app will initialize correctly. That's not a viable option for us,
> though. The list is very dynamic.
>
> Jim
>
Re: Problems moving to latest serverside OSGI code [message #63179 is a reply to message #63109] Thu, 02 March 2006 23:23 Go to previous message
Eclipse UserFriend
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
>
>
>
>
>
>
Previous Topic:Eclipse 3.2 M4 or M5 + Webstart -> Impossible !
Next Topic:Getting the bundle from the classloader?
Goto Forum:
  


Current Time: Tue Jul 22 12:03:10 EDT 2025

Powered by FUDForum. Page generated in 0.03186 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top