<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: Accessing model data during Spring bean initialization in CRM and CX Q&amp;A</title>
    <link>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994803#M360643</link>
    <description>&lt;P&gt;You don't seem to have declared a runtimeConfig bean. Why not use the more Hybris-y &lt;CODE&gt;ConfigurationService&lt;/CODE&gt; ? Then it'll pick up the values from your local.properties file.&lt;/P&gt;
&lt;P&gt;e.g.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt; &amp;lt;bean id="qohMQConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"&amp;gt;
  &amp;lt;property name="targetConnectionFactory"&amp;gt;
      &amp;lt;bean id="mqQueueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"
          p:transportType="#{configurationService.configuration.getString('qoh.mq.transport-type')}" 
          p:queueManager="#{configurationService.configuration.getString('qoh.mq.queue-manager')}"
          p:channel="#{configurationService.configuration.getString('qoh.mq.channel')}" 
          p:hostName="#{configurationService.configuration.getString('qoh.mq.host')}" 
          p:port="#{configurationService.configuration.getString('qoh.mq.port')}"
          p:clientReconnectTimeout="#{configurationService.configuration.getString('qoh.mq.connection.retry.timeout')}"/&amp;gt;        
  &amp;lt;/property&amp;gt;
  &amp;lt;/bean&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 31 Jan 2018 18:09:41 GMT</pubDate>
    <dc:creator>andyfletcher</dc:creator>
    <dc:date>2018-01-31T18:09:41Z</dc:date>
    <item>
      <title>Accessing model data during Spring bean initialization</title>
      <link>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaq-p/11994801</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I am trying to associate configuration values to the bean during initialization. The runtimeConfig is a service class that looks up the input parameter from DB. Saw some examples in google that the below approach is possible. However, I am getting the below exception:&lt;/P&gt;
&lt;P&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mqQueueConnectionFactory' defined in class path resource [orrpocintegration-messaging-spring.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is java.lang.NullPointerException&lt;/P&gt;
&lt;P&gt;My Spring Configuration:
    
        
                    
        
    &lt;/P&gt;
&lt;P&gt;where &lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt; &amp;lt;bean name="defaultRuntimeConfigurationService" class="com.prasun.integration.runtime.service.impl.DefaultRuntimeConfigurationService" /&amp;gt;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Need help.
Thanks. 
&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2018 12:11:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaq-p/11994801</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-01-31T12:11:41Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing model data during Spring bean initialization</title>
      <link>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994802#M360642</link>
      <description>&lt;P&gt;What I am trying to do:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt; &amp;lt;bean id="qohMQConnectionFactory" depends-on="runtimeConfig"
     class="org.springframework.jms.connection.CachingConnectionFactory"&amp;gt;
     &amp;lt;property name="targetConnectionFactory"&amp;gt;
         &amp;lt;bean id="mqQueueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"
             p:transportType="#{runtimeConfig.getStringValue('qoh.mq.transport-type')}" 
             p:queueManager="#{runtimeConfig.getStringValue('qoh.mq.queue-manager')}"
             p:channel="#{runtimeConfig.getStringValue('qoh.mq.channel')}" 
             p:hostName="#{runtimeConfig.getStringValue('qoh.mq.host')}" 
             p:port="#{runtimeConfig.getStringValue('qoh.mq.port')}"
             p:clientReconnectTimeout="#{runtimeConfig.getStringValue('qoh.mq.connection.retry.timeout')}"/&amp;gt;        
     &amp;lt;/property&amp;gt;
 &amp;lt;/bean&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 31 Jan 2018 12:12:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994802#M360642</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-01-31T12:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing model data during Spring bean initialization</title>
      <link>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994803#M360643</link>
      <description>&lt;P&gt;You don't seem to have declared a runtimeConfig bean. Why not use the more Hybris-y &lt;CODE&gt;ConfigurationService&lt;/CODE&gt; ? Then it'll pick up the values from your local.properties file.&lt;/P&gt;
&lt;P&gt;e.g.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt; &amp;lt;bean id="qohMQConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"&amp;gt;
  &amp;lt;property name="targetConnectionFactory"&amp;gt;
      &amp;lt;bean id="mqQueueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"
          p:transportType="#{configurationService.configuration.getString('qoh.mq.transport-type')}" 
          p:queueManager="#{configurationService.configuration.getString('qoh.mq.queue-manager')}"
          p:channel="#{configurationService.configuration.getString('qoh.mq.channel')}" 
          p:hostName="#{configurationService.configuration.getString('qoh.mq.host')}" 
          p:port="#{configurationService.configuration.getString('qoh.mq.port')}"
          p:clientReconnectTimeout="#{configurationService.configuration.getString('qoh.mq.connection.retry.timeout')}"/&amp;gt;        
  &amp;lt;/property&amp;gt;
  &amp;lt;/bean&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 31 Jan 2018 18:09:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994803#M360643</guid>
      <dc:creator>andyfletcher</dc:creator>
      <dc:date>2018-01-31T18:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing model data during Spring bean initialization</title>
      <link>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994804#M360644</link>
      <description>&lt;P&gt;My hybris is running on a cluster 6 nodes and I would need to change the configuration at runtime depending on situation. App Node hAC is not accessible. Hence, I am planning to use DB based configuration rather than using local.properties.
&lt;/P&gt;</description>
      <pubDate>Fri, 02 Feb 2018 06:03:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994804#M360644</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2018-02-02T06:03:46Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing model data during Spring bean initialization</title>
      <link>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994805#M360645</link>
      <description>&lt;P&gt;But that wouldn't work with your original config anyway. The properties aren't &lt;EM&gt;live&lt;/EM&gt; they are just fed in at configuration time.&lt;/P&gt;
&lt;P&gt;I'm not familiar with a Spring 'runtimeConfig' and can't find any documentation on it. How would it work? Is it wrapping the bean in a proxy that intercepts the getters? It's not at all clear from your example how this is supposed to work.&lt;/P&gt;
&lt;P&gt;Perhaps something with a &lt;CODE&gt;ConfigChangeListener&lt;/CODE&gt; and a &lt;CODE&gt;ClusterAwareEvent&lt;/CODE&gt; to broadcast those changes would work for you?
&lt;/P&gt;</description>
      <pubDate>Fri, 02 Feb 2018 10:20:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/crm-and-cx-q-a/accessing-model-data-during-spring-bean-initialization/qaa-p/11994805#M360645</guid>
      <dc:creator>andyfletcher</dc:creator>
      <dc:date>2018-02-02T10:20:00Z</dc:date>
    </item>
  </channel>
</rss>

