I added an attribute usingEndpointInfo in jmsConfig and set the default value to be true. If we want to inject a jmsConfig into a JMSDestination without taking consideration of the endpointInfo, we could set the usingEndpointInfo to be false.
Willem Willem Jiang wrote: > Hi Christian , > > When I worked on CXF-1943, I found the JMSOldConfigHold can't handle the > jmsConfig which is injected from the Spring well. > > If I injected a jmsConfig instance into the JMSDestination by using the > Spring configuration, some properties of the jmsConfig will be override > by the Address, ServerBehaviorPolicy ... etc from the endpointInfo in > JMSOldConfigHold's createJMSConfigurationFromEndpointInfo method. > > AFAIK, CXF has different level configurations. > WSDL < configuration file < program API. > program API can override the configuration file, and configuration file > can override the WSDL. > > So I think if we inject a new jmsConfig instance into the > JMSDestination, we should not let the properties value of jmsConfig > which set by Spring be override by WSDL. > > But here is an other thing, if we don't provide enough information in > jmsConfig, such as address, we will try to get it from WSDL or endpointInfo. > > Here is my proposal: > I'd like to add so check points JMSOldConfigHold's > createJMSConfigurationFromEndpointInfo method, and only set the > jmsConfig's properties which don't have been set, with the value of > endpointInfo. > > Any thought? > > Willem > >
