Servicemix freezing while installing bundled features - osgi

The command:
feature:install spring-jdbc/4.3.5.RELEASE_1
causes my Servicemix 7.0.1 instance to freeze indefinetely, whereas
the same command (with lower feature version) works like a charm in Servicemix 5. Am I doing something wrong? Or is Servicemix 7 buggy?

Answering my own question:
I believe that the Karaf version on which this release of Servicemix is based on
was bugged:
https://issues.apache.org/jira/browse/KARAF-4272
New version, which I compiled and tested personally, doesn't freeze.
There is still no new Servicemix in sight, so I suggest using Karaf and its features - it's not as barebone as one would think. Moreover, Karaf has live and kicking user mailing list:
http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html

Related

Procedure to add features to OpenDaylight application

This is an inverse of my question Install a custom feature or module in Opendaylight?. I am looking to take the Hello World app and add the ability to do a feature:install for the following features:
feature:install
odl-restconf
odl-mdsal-apidocs
odl-openflowplugin-flow-services
odl-openflowplugin-app-table-miss-enforcer
odl-openflowplugin-nxm-extensions
odl-restconf-all
odl-openflowplugin-flow-services
I assume it comes down to listing these features properly in one of the many pom files.
For the record, currently we run the ODL 0.12.1 by downloading the .tar.gz from ODL's nexus server, shell into karaf, and run the feature:install command against all the above features and I am able to do the install.
I'd like to be able to run that same feature:install for all those features as well, but in the Hello World example, karaf can't find those features.
There are some similar questions out there (such as this How to add new features to OpenDayLight Karaf?) however the answers weren't specific enough and seem generic to Karaf. For example, the answer there seems to be about modifying the values of org.ops4j.pax.url.mvn.repositories however when I look at the ODL 0.12.1 integration/distribution repo, I do not see this value being used at all.
I think what you are looking for is the featuresBoot config in the
etc/org.apache.karaf.features.cfg file.

Is Storm version 0.9.7 still supported?

In the project I am working, I have to reuse a project which uses storm 0.9.7.
I do not want to upgrade to higher version as it would need a lot of code changes I I am expected to reuse that code.
Is Storm version 0.9.7 still supported? Or is support for 0.9.7 dropped?
If Storm 0.9.7 is not supported, I may have to rewrite the code
As far as I know development on 0.9.x has stopped. You might still be able to get answers to your questions on the user mailing list, but I'd move to a more recent release.

STS Crash after project spring version upgrade 3 -> 4

Our application was using spring version 3.2.3.RELEASE and we decided to migrate it to 4.0.9.RELEASE.
After the upgrade we were unable to ever use STS again. When launch the workspace, STS stops responding after some time (5-30 min).
We tried downloading a STS new version, creating new workspaces, disabling all validations. Nothing worked so far but if we use a regular eclipse version we have no problems at all.
Does anyone have an idea on what could be the cause of this issue?
I would suggest to open an issue at https://github.com/spring-projects/spring-ide/issues and provide more details.
Especially interesting will be to capture a thread dump while STS is being unresponsive (using jps and jstack). Would be great if you could attach a few of them to the issue.
You also said that you ran a fresh STS installation (I assume STS 3.9.x) with a fresh workspace. So what exactly did you do before STS becomes unresponsive?

Automatic Updatemechanism for OSGi Bundles

I'm looking for an automatic update mechanism in my Equinox environment.
I am developing bundles which use remote Services. So I have multiple clients which communicates with each other.
Now I'm looking for a way which automatically installs the new Version of a Bundle when I deployed it in Eclipse.
At the moment I'm doing it the following way:
Increase Versionnumber
Deploy in eclipse
Start a script to sync the bundles to all my clients
On each client: Uninstall old version, install new version.
But I would like to have it like this, which would save me a lot of work:
Increase Versionnumber
Deploy in eclipse
Start a script
Each client automatically uninstalls the old version and installs and starts the new version.
I already tried Felix Fileinstaller which worked partly. The problem there was, that Fileinstaller didn't uninstalled the old version and did no autostart of the Bundle.
I also had the Problem that after a while there were many Bundleversions in my load directory and when I restart the environment each bundle in there is installed.
If you use Equinox you should take a look at p2. It's the provisioning mechanism used inside Eclipse for updating Eclipse and installing new Eclipse bundles. It also works in a headless server environment.
We use p2 in the Eclipse Gyrex project to perform the automatic installation. The process is as follows:
Apply versioning manually in Eclipse (increase version number)
Export bundles into p2 repository (either from Eclipse or using Tycho/Maven)
Deploy p2 repository to web server
Client install update automatically
Each client periodically checks a p2 repository for updates and installs any available updates. The p2 repository is made available on an internal web server.
There are alternative options available for OSGi. For example, OBR is the approach recommended by the OSGi alliance. Unfortunately, p2 doesn't support OBR yet. But if you are using Apache Felix, you should be able to use OBR for your purposes.

Can I start a bundle at a specific time without starting it manually

I have a bundle up and running in servicemix. I wanted to know if there is a way I could make some configuration changes and have it started automatically at say 7:30 in the morning.
I am new to servicemix.
thanks for your help.
Thanks.
No this is not possible to schedule bundles being started|stopped out of the box. But ServiceMix / Karaf is scriptable, so you can have some perl script (or any other) and have it trigger at 7:30 in the morning to execute a script that starts the bundle.
For example check out the karaf client example here: http://fusesource.com/docs/esb/4.4.1/esb_runtime/ESBRuntimeConnect.html
You can google a bit more about karaf client script.

Resources