Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Also note that we have used the ANT publisher in the definition of our servers, this means that the files buildfiles/servicemix30.xml will be used as the ANT project and when you choose to publish a JBI component or unpublish one the targets deploy.jbi.component and undeploy.jbi.component are used respectively. Note that in the server definition we also define classpath's for the server to use to start/stop and also for a project that will use this server definition to act as its runtime. This means we can get the classpath from the server when we are creating a project against it as a runtime, to make the project classpath available we need to add this extension point:

Code Block
xml
xml
    <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
    	<runtimeClasspathProvider
	        id="org.eclipse.jst.server.generic.runtime.servicemix30"
	        runtimeTypeIds="org.eclipse.jst.server.generic.runtime.servicemix30"
	        class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"/>
    </extension>

So now thanks to the magic of WTP we have defined a module and a generic server to deal with it. Since we are proud of our creation so far we can use an extension point to give our runtime and server a nice icon.

Code Block
xml
xml
        <extension point="org.eclipse.wst.server.ui.serverImages">
		<image icon="/icons/servicemix.gif"
			id="org.apache.servicemix.server.image"
			typeIds="org.eclipse.jst.server.generic.servicemix30" />
		<image icon="/icons/servicemix.gif"
			id="org.apache.servicemix.server.image"
			typeIds="org.eclipse.jst.server.generic.runtime.servicemix30" />
	</extension>

OK.. so far we have added a new type of module (in this case JBI) and defined a server that is capable of handling it. However, what we now what is to be able to create a project which can interact with both our server and runtime definitions. This means be able to reference the runtime when creating the project and also leverage the WTP publish/deploy architecture so that we can publish our project to a runtime.