You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Ryan Moquin <fr...@gmail.com> on 2009/10/14 14:53:36 UTC

Basic SMX 4 Clustering configuration

I'm trying to figure out how to use clustering in Servicemix 4, but have a
couple questions.  All my service units are packaged up in service
assemblies.

The first question is about the feature descriptor xml that configures the
clustering engine.  When I drop it into servicemix, I get the following
error:

22:18:30,941 | ERROR | Timer-2          | FeatureDeploymentListener        |
ternal.FeatureDeploymentListener  185 | Unable to install / uninstall
feature
java.net.URISyntaxException: Illegal character in path at index 73:
bundle://165.0:0/META-INF/org.apache.servicemix.kernel.gshell.features/C:\servicemix4\deploy\cluster.xml
    at java.net.URI$Parser.fail(URI.java:2809)
    at java.net.URI$Parser.checkChars(URI.java:2982)

I get this error if I use the cluster.xml from the nmr kit that Guillaume
mentions or the one from the sm4nmr clustering page (
http://servicemix.apache.org/SMX4NMR/13-clustering.html).  It seems as
though if I open the file, and save it so that it deploys again, it will
appear to deploy correctly, though I'm not actually sure if it really did.
Is that a known issue that it fails the first time?

The second question is that when I read the last part on this page:

http://servicemix.apache.org/SMX4NMR/13-clustering.html

It says the following:

When using a JBI packaged Service Assembly, you need to create a spring
application to register the endpoint as a clustered endpoint:

<bean class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
  <property name="serviceName" value="test:myService" />
  <property name="endpointName" value="myEndpoint" />
</bean>


What does it means to create a "spring application". Is that saying
that you need a specific type of namespace declaration with this
element included for each individual endpoint?
This fragment won't deploy on it's own, so I'm guessing there is some
additional stuff that needs wrapped around it?

Re: Basic SMX 4 Clustering configuration

Posted by Ryan Moquin <fr...@gmail.com>.
I was able to get it installed by just setting the "endpoint" property to
just a dummy string, but my endpoints don't seem to be available across
containers.. is there any way to verify that an endpoint is clustered and
available?

On Wed, Oct 14, 2009 at 8:53 AM, Ryan Moquin <fr...@gmail.com> wrote:

> I'm trying to figure out how to use clustering in Servicemix 4, but have a
> couple questions.  All my service units are packaged up in service
> assemblies.
>
> The first question is about the feature descriptor xml that configures the
> clustering engine.  When I drop it into servicemix, I get the following
> error:
>
> 22:18:30,941 | ERROR | Timer-2          | FeatureDeploymentListener
> | ternal.FeatureDeploymentListener  185 | Unable to install / uninstall
> feature
> java.net.URISyntaxException: Illegal character in path at index 73:
> bundle://165.0:0/META-INF/org.apache.servicemix.kernel.gshell.features/C:\servicemix4\deploy\cluster.xml
>     at java.net.URI$Parser.fail(URI.java:2809)
>     at java.net.URI$Parser.checkChars(URI.java:2982)
>
> I get this error if I use the cluster.xml from the nmr kit that Guillaume
> mentions or the one from the sm4nmr clustering page (
> http://servicemix.apache.org/SMX4NMR/13-clustering.html).  It seems as
> though if I open the file, and save it so that it deploys again, it will
> appear to deploy correctly, though I'm not actually sure if it really did.
> Is that a known issue that it fails the first time?
>
> The second question is that when I read the last part on this page:
>
> http://servicemix.apache.org/SMX4NMR/13-clustering.html
>
> It says the following:
>
> When using a JBI packaged Service Assembly, you need to create a spring
> application to register the endpoint as a clustered endpoint:
>
> <bean class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
>   <property name="serviceName" value="test:myService" />
>
>   <property name="endpointName" value="myEndpoint" />
> </bean>
>
>
> What does it means to create a "spring application". Is that saying that you need a specific type of namespace declaration with this element included for each individual endpoint?
> This fragment won't deploy on it's own, so I'm guessing there is some additional stuff that needs wrapped around it?
>
>
>

Re: Basic SMX 4 Clustering configuration

Posted by Ryan Moquin <fr...@gmail.com>.
If I deploy the following for the clustered endpoints:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd">
<bean
class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
  <property name="serviceName">
  <bean class="javax.xml.namespace.QName">
    <constructor-arg index="0" value="urn://myservice"/>
    <constructor-arg index="1" value="test-service"/>
  </bean>
  </property>
  <property name="endpointName" value="endpoint" />
</bean>
</beans>

I get an NPE in SimpleClusterRegistration on line 98.  I I look at that
line, it appears to be caused by the endpoint member variable being null...
shouldn't the endpoint get looked up from the serviceName and endpoint that
is entered in the registration bean?

Ryan

On Wed, Oct 14, 2009 at 8:53 AM, Ryan Moquin <fr...@gmail.com> wrote:

> I'm trying to figure out how to use clustering in Servicemix 4, but have a
> couple questions.  All my service units are packaged up in service
> assemblies.
>
> The first question is about the feature descriptor xml that configures the
> clustering engine.  When I drop it into servicemix, I get the following
> error:
>
> 22:18:30,941 | ERROR | Timer-2          | FeatureDeploymentListener
> | ternal.FeatureDeploymentListener  185 | Unable to install / uninstall
> feature
> java.net.URISyntaxException: Illegal character in path at index 73:
> bundle://165.0:0/META-INF/org.apache.servicemix.kernel.gshell.features/C:\servicemix4\deploy\cluster.xml
>     at java.net.URI$Parser.fail(URI.java:2809)
>     at java.net.URI$Parser.checkChars(URI.java:2982)
>
> I get this error if I use the cluster.xml from the nmr kit that Guillaume
> mentions or the one from the sm4nmr clustering page (
> http://servicemix.apache.org/SMX4NMR/13-clustering.html).  It seems as
> though if I open the file, and save it so that it deploys again, it will
> appear to deploy correctly, though I'm not actually sure if it really did.
> Is that a known issue that it fails the first time?
>
> The second question is that when I read the last part on this page:
>
> http://servicemix.apache.org/SMX4NMR/13-clustering.html
>
> It says the following:
>
> When using a JBI packaged Service Assembly, you need to create a spring
> application to register the endpoint as a clustered endpoint:
>
> <bean class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
>   <property name="serviceName" value="test:myService" />
>
>   <property name="endpointName" value="myEndpoint" />
> </bean>
>
>
> What does it means to create a "spring application". Is that saying that you need a specific type of namespace declaration with this element included for each individual endpoint?
> This fragment won't deploy on it's own, so I'm guessing there is some additional stuff that needs wrapped around it?
>
>
>