We are upgrading servicemix 4.4.1 to 5.6.0,ActiveMQ 5.5.1 to 5.12.2.

Existing bean creation xml is failing with

Cannot convert value of type [com.myproduct.transport.bean.JcsSslContext] to
required type [org.apache.activemq.broker.SslContext] for property
'sslContext': no matching editors or conversion strategy found

Bean definition in xml is like below

<bean id="mySslContext" class="com.myproduct.transport.bean.MYSslContext"
init-method="afterPropertiesSet">
    <property name="keyStore" value="file:MY/conf/ssl.keystore" />
    <property name="keyStorePasswordProperty"
value="com.myproduct.transport.sslcontext.keyStorePassword" />
    <property name="trustStore" value="file:MY/conf/ssl.keystore" />
    <property name="trustStorePasswordProperty"
value="com.myproduct.transport.sslcontext.trustStorePassword" />
</bean>






<broker id="MY-broker"
        brokerName="MY-broker"
        dataDirectory="${karaf.data}/activemq"
        xmlns="http://activemq.apache.org/schema/core";
        sslContext="#MYSslContext"
</broker>
MYSslContext class definition is as below

package com.myproduct.transport.bean;
import org.apache.activemq.spring.SpringSslContext;

public class MYSslContext extends SpringSslContext 
  {
     /** The system property containing the key store password */
      private String keyStorePasswordProperty;

      /** The system property containing the trust store password */
    private String trustStorePasswordProperty;

    @Override
   public void afterPropertiesSet() throws Exception
    {
       // The values are set in etc/system.properties.
       // They should have been decoded during startup by
YOsgiBootstrapBean.

    String keyStorePassword = System.getProperty(keyStorePasswordProperty,
"");
    String trustStorePassword =
System.getProperty(trustStorePasswordProperty, "");

    setKeyStorePassword(keyStorePassword);
    setTrustStorePassword(trustStorePassword);
}

/**
 * Set the system property containing the key store password.
 * 
 * @param keyStorePasswordProperty The system property containing the key
store password.
 */
public void setKeyStorePasswordProperty(String keyStorePasswordProperty)
{
    this.keyStorePasswordProperty = keyStorePasswordProperty;
}

/**
 * Set the system property containing the trust store password.
 * 
 * @param trustStorePasswordProperty The system property containing the
trust store password.
 */
public void setTrustStorePasswordProperty(String trustStorePasswordProperty)
{
    this.trustStorePasswordProperty = trustStorePasswordProperty;
 }
}
Ideally there should not be any issue as MYSslContext extends
SpringSslContext and SpringSslContext extends SslContext

Any suggestions will be very helpful.



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Reply via email to