...
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 | ||||
---|---|---|---|---|
| ||||
<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 | ||||
---|---|---|---|---|
| ||||
<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.