In this lesson we will learn how to install JBoss Fuse tooling on JBoss Developer studio and to run a Fuse project within it.
Start by downloading JBoss Developer Studio . In this trail we will use the Standalone installer which requires about 500 MB disk space.
Once downloaded it, execute the JAR file:
java -jar jboss-devstudio-8.1.0.Beta1-installer-standalone.jar
The JBoss Developer Studio wizard will start. Just follow the default options and choose a path for your installation. Once completed, execute the jbdevstudio shell:
jbdevstudio.bat
Installing Fuse Tooling
In order to install the Fuse tooling, you need to reach the “JBoss Central” view and check the “Enable early access” check box as indicated by the following picture:
Click on Install/Update and follow the wizard to complete the installation. A reboot of JBoss Developer Studio will be required to use the new tooling features.
Creating your first Fuse project from JBoss Developer studio
Once that you have completed the tooling installation you can use from the File menu: New | Fuse Project. Choose the name of the project and, in the next dialog, select an archetype for your project:
As we want a new Camel project with OSGi support, ready to be deployed on JBoss Fuse, select the camel-archetype-blueprint, choose a GroupId, ArtifactId, Version and Package. Click on Finish.
Here is the project which has been just created:
The project includes a blueprint.xml file which describes our service:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/blueprint" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd"> <bean id="helloBean" class="com.mycompany.demofuse.HelloBean"> <property name="say" value="Hi from Camel"/> </bean> <camelContext trace="false" id="blueprintContext" xmlns="http://camel.apache.org/schema/blueprint"> <route id="timerToLog"> <from uri="timer:foo?period=5000"/> <setBody> <method ref="helloBean" method="hello"></method> </setBody> <log message="The message contains ${body}"/> <to uri="mock:result"/> </route> </camelContext> </blueprint>
As you can see, this service basically sends messages from a Timer component which are intercepted by the HelloBean, logged by the Log component and sent to the mock: which gathers the result and can be used in the Testing class.
The nice thing of it is that, since you have installed the tooling, you can design your blueprint graphically with the Design view:
As the project is a Maven one, you can compile it using:
mvn clean install
Now, after that you have started Fuse, you can deploy it on the Fuse OSGi container by executing from the Karaf shell:
JBossFuse:[email protected]> osgi:install -s mvn:com.mycompany/demofuse/1.0.0-SNAPSHOT Bundle ID: 260
Related tutorials
You might be interested as well in this tutorial: JBoss Fuse Lesson 2: Building your first Fuse project with Maven