I have a cluster with three rabbitmq instance, sometimes I need to install some plugins to acquired addition feature.
It seems that it need to manually install the same plugins for each rabbitmq.
The question is.
Is there any simple way to install plugins for cluster? installing plugins for each instance is error prone.
There is no a way to do that.
you should use some tools like puppet or chef to setup the machines.
Related
The manual states that
You can also install the package globally on your machine and use the
wdio directly from the command line. However it is recommended to
install it per project.
Why is that? What downfall should I worry if installing globally?
If you only wish to use webdriver only in your shell regardless of any project then you can install it globally. However, if you wish to use it in a project, such that it is required to run project tests then install it locally (in this case it should be devDependency). The reasons are:
1) When multiple people working on a project, it is ensured that all of them have the same versions of the required packages.
2) Portability. The project dependencies should be completely defined in package.json so that after running npm install the project is ready to use in every environment.
For people new to NPM and Node, I'd recommend a global install to keep it simple. There are reasons to install it locally though, mostly to do with version compatibility and ease of project sharing: https://www.joezimjs.com/javascript/no-more-global-npm-packages/
We are considering to upgrade an existing system which used FUSE ESB 4.4.1 to latest JBOSS FUSE.
From what I understand, JBOSS FUSE is the much newer version of FUSE ESB. But I have no idea how much have it changed and does the code we have already implemented in FUSE ESB possible to run on latest JBOSS FUSE without extensive changes?
You should be able to migrate. Only if you use JBI components then they are deprecated and no longer supported in the upcoming JBoss Fuse 6.2 release. But for OSGi applications you may have developed for the old Fuse ESB, then it should be possible to recompile and deploy as-is, or there is some minor migration effort. Its primary the upgrades to Camel / CXF that may drive migration changes upon you. Or if you are unlucky then OSGi itself may cause a bit of pain to upgrade, as its errors sometimes can be hard to understand and figure out how to resolve.
There is some migration guides at JBoss Fuse documentation, you can find here
http://www.jboss.org/products/fuse/resources/
This page tells me what I can do with the rabbitmq plugins tool. But I can't figure out how to install the plugins tool itself. I just seem to have rabbitmq-server and rabbitmqctl. The man pages doesn't say anything either. So how do I install it? I currently have {rabbit,"RabbitMQ","2.6.1"} running and I didn't install the server so I don't know how it was installed.
Thanks,
Apparently the plugin tool was introduced from 2.7 onwards. For 2.6.1, I assume we need to copy the plugin files to the plugins folder. Unless someone can confirm otherwise.
I' starting to use ServiceMix and Camel and I've run through many examples.
It seems that the examples that are OSGi can be deployed in ServiceMix via hot deploy or via console, but I don't know how to deploy a project that is not an OSGI. Can it be done?
For example, I'm looking at the example project from Camel 2.10.0 called camel-example-cxf-proxy. I did some alterations and now I wanted to load it in ServiceMix. If I copy/paste to the deploy directory it is loaded but when I try to run it via osgi:start id it fails.
However if I run it from the IDE as a standalone it runs just fine and I can send and receive requests via SoapUI.
When I'm done with the examples I'll want to create my own project in eclipse and do tests in the IDE and in ServiceMix. I don't really understand the advantage of OSGi yet. SO I'm not too compelled to use OSGi for my project.
My main question is: Can I deploy a non-OSGi non-JBI compliant project in servicemix? Something like the camel-example-cxf-proxy. If yes, how can I do it? If no, how can I OSGi-fy the camel-example-cxf-proxy?
Thank you :)
Apache ServiceMix which uses Apache Karaf as its kernel, support pluggable deployment units. Though OSGi is the main unit.
You can deploy JBI artifacts (eg JBI was used as deployment units for Apache ServiceMix 3.x). So we offer that as a migration path to run JBI in SMX 4.x.
A plain WAR file can be deployed as well. You can for example just drop a .war file in the deploy directory. If you deploy from the shell, you need to prefix the deployer with war so it knows to use the war deployer.
There is some documentation about the various pluggable deployers here
http://fusesource.com/docs/esbent/7.0/esb_deploy_osgi/UrlHandlers.html
For example to install an Apache Wicket WAR example using Maven you can do from the shell:
osgi:install war:mvn:org.apache.wicket/wicket-examples/1.4.7/war?Web-ContextPath=wicket
The Apache documentation about deployer is mainly documented at Apache Karaf
http://karaf.apache.org/manual/2.2.9/users-guide/deployer.html
Now to deploy OSGi applications can be a bit of pain to assemble. And that is why FuseSource created FAB to make it much easier. I blogged about this a bit, which references to videos and more material: http://www.davsclaus.com/2012/08/osgi-deployment-made-easy-with-fab.html
With FAB you can just deploy regular Maven projects out of the box without any OSGi pain.
If your project is a maven project, you can try :
mvn install
Then start your servicemix, and in servicemix command line :
install mvn:groupId/artifactId/version
This will prompt a bundle ID. Then, juste start the bundle :
start <bundle_id>
You can check the state of your bundle with command "list"
The project has to be a bundle to be installed in servicemix / karaf. So the steps to make a camel project work in OSGi are the following.
Use the maven bundle plugin in the pom and configure it to import / export the necessary packages if necessary.
Make sure your camel context is defined in a way that OSGi can start. This is either in the activator of the bundle or in a spring config in the right location or with a blueprint config in the right location.
See two of my karaf tutorials for the details:
CXF: http://www.liquid-reality.de/x/EoBk
Camel: http://www.liquid-reality.de/x/G4Bk
I'd like to upgrade my Helios installation of Eclipse to Indigo. When I do, I get the following message:
Cannot complete the install because of a conflicting dependency.
Software being installed: Eclipse IDE for Java EE Developers 1.4.2.20120213-0813 (epp.package.jee 1.4.2.20120213-0813)
Software currently installed: Oracle GlassFish Server Tools 1.6.1.201009290929 (oracle.eclipse.tools.helios.glassfish.feature.group 1.6.1.201009290929)
So my first thought was to simply uninstall GlassFish. For the life of me, I can't figure out how and where to go to do this. I went to Help->About Eclipse...->Installation Details. The only place that it looks like I can uninstall stuff is in the "Installed Software" tab. I do not see the Oracle Glassfish package anywhere. If I go to "Feature" or "Plug-ins", I can find it just fine, but there is no option to uninstall.
So my next thought was to upgrade Glassfish. So I put the indigo repo in there, but I still get the same message when trying to update. Any ideas?
There is no mechanism within Eclipse to permanently and physically uninstall a feature and its plug-ins. The process to physically and permanently remove an undesirable feature and its plug-ins is a manual process that should be done when Eclipse is not running. In order to do, you will have to manually remove the files there associated with the feature from the eclipse/features directory and its plug-ins from the eclipse/plugins directory.
D:\Softwares\eclipse-standard-kepler-R-win32\eclipse\plugins\eclipse\
-plugins
-features