Folks,
I'm trying to get the apache Felix webconsole running on an eclipse Virgo 3.0.3 installation -- I need the extra details it provides that the standard virgo admin doesn't.
I uploaded the full org.apache.felix.webconosle-3.1.8.jar to the pickup dir.
This virgo Jetty is running at port 8098, but when I do:
host:8098/system/console
I am getting the 404 not found.
Any ideas here how to get the webconsole integrated into the Eclipse Virgo Jetty install?
Thanks!
Although I didn't use Virgo in a long time, I guess it is because the installation is missing a standard OSGi HTTP service, which is required for the Felix web console bundle to work. You need to install a bundle that exports such a service based on the Jetty bundle you are using.
Related
I have created an OSGi bundle, that is using apache commons dbcp2 to create a database connection pool. I am using apache felix gogo as runtime to start my bundles. I have loaded multiple other external libraries without any problems into the apache felix:
Image here (cant post no rep):
https://i.gyazo.com/c779ccaba20e3fa327d61a621748d8dc.png
However every time I try to start dbcp2 bundle which is requiered in my bundle I get the following error:
Image here (cant post no rep):
https://i.gyazo.com/ac7b673e63b9e6ad764af2e6adddb19a.png
I have found that there is some Apache mixservice bundle available, but it contains dbcp 1.4 and I need dbcp 2.5.0 or higher.
What needs to be done so apache felix is able to load the dbcp2 as a library requiered by other projects ?
What you see in the error is that the dbcp bundle requires the javax.transaction package in version >= 1.1.0. This is not an error in the bundle. It just means that you need to provide this package in the OSGi container.
Normally you would install a bundle that provides the package. In this case the package comes from the jre and the system bundle should export it.
Depending on how you start felix the way to export a system package is different.
For example if you use bndtools you do this in a bndrun file. See the Enroute microsevice example.
For plain felix see the parameter "org.osgi.framework.system.packages.extra".
In this example the javax.transaction package is exported (among some others).
I have created a Fuse integration project in developer studio 9.0.2 and I'm using jboss-fuse-karaf-6.3.0 as the runtime container.
I want to deploy this project using Maven, but not able to figure out -
How and where to give server URL, user name and password for the deployment ?
Does project gets deployed to fabric or karaf ?
Will appreciate if anybody can help with some pointers.
Thanks in advance.
Is that server running locally or remote?
Locally you can simply define the server in the servers view and then use Add context menu to deploy your project.
it gets deployed to Karaf
When building projects with Maven I use osgi:install and dev:watch commands (available in both JBoss Fuse and vanilla Karaf). The following setup works well for a development machine.
First build with Maven using install goal, so the artifact gets installed in local repository.
Then issue osgi:install (see Manual Deployment in JBoss Fuse docs) command in your container to install your bundle. Job done!
> osgi:install mvn:it.your.package/your-artifact/1.0.0
Once the bundle is installed you will see a message like
Bundle ID: 352
This is the ID of the bundle installed. Issue the following command:
> dev:watch 352
Watched URLs/IDs:
352
Now every time you rebuild with Maven, the bundle gets redeployed automatically.
Watch out some settings to be changed if dev:watch does not reload bundles on JBoss Fuse 6.3.0
edit: use -SNAPSHOT in your version with this setup. Regular versionsmay not redeploy correctly because the container sees the version is the same and may use previously loaded classes, thus causing classloading issues.
I have an osgi bundle which was deployed in apache karaf using the feature.xml and service injection is done using blueprint.xml. How to deploy the same bundle in Weblogic OSGI container.
https://docs.oracle.com/middleware/1212/wls/WLPRG/osgi.htm#WLPRG764
I followed the steps mentioned in the above link. Copied the OSGI jar in the WL_HOME/server/osgi-lib location and restarted the server, but was not able to start it. Am i missing some thing?
Note:- I was able to deploy a simple OSGI jar without any dependencies by copying the jar in the osgi-lib folder.
You need to install the Aries blueprint bundles.
We have our own karaf based application and recently we decided to migrate our web console on hawtio as a plugin. Is there any possibility to append hawtio to our project as an OSGI bundle? i've downloaded hawtio project, but there is no maven module with packaging mode "bundle" or something like that. As an option of course we can get kar archive file, extract it and use its bundles. But that's not a native way at all. Thank you!
Hello have you try to use the latest Hawtio for karaf (hawtio-karaf) available on maven repository?
http://search.maven.org/#artifactdetails|io.hawt|hawtio-karaf|1.4.26|jar
It provide a features.xml that can be install on Karaf.
First: install everything on your local maven repo.
Second: launch your karaf.
Third: run the command: feature:repo-add mvn:io.hawt/hawtio-karaf/1.4.26/xml/features
Fourth: run the command: feature:install hawtio
According to the official website, the default URL is: http://localhost:8181/hawtio/
Let me know if it is working as you were expecting.
There is no clean solution for standalone unit testing, but apache karaf provides exam environment for such situations - http://karaf.apache.org/manual/latest/developers-guide/writing-tests.html
So we can run tests with our application and hawtio in dev mode.
On production this leak of functionality is absent.
I downloaded camel 2.6.0 and used example camel-example-cxf-proxy (under example folder) to deploy into serviceMix.
what i would like to do is packaging it to become a jar file and then goto serviceMix karaf console to install this jar.
(install -s wrap:file:/c:/...jar)
But this example doesn't work in serviceMix 4.3.0.
Do you know what thing i have to modify to make it work within serviceMix 4.3.0
Do i have to install any other bundle into serviceMix?
The first thing is that you should make sure your maven project builds a bundle. I recently did a tutorial that shows how to run camel routes in OSGi:
http://www.liquid-reality.de/display/liquid/2012/01/03/Karaf+Tutorial+Part+5+-+Running+Apache+Camel+integrations+in+OSGi
So basically you have to make sure that the camel features you need are installed. In your case this is probably camel-cxf and camel-http.
Then you need to change the pom to create a bundle. See the pom of the example:
https://github.com/cschneider/Karaf-Tutorial/blob/master/camel/jms2rest/pom.xml
You need to change the packaging to bundle and add the maven bundle plugin. For camel projects the default typically work very well.
Btw. you can also run camel on pure karaf when you follow the instructions in my tutorial. This has the advantage that you can almost always use the newest camel version while servicemix often comes with an older version.