私は、JNDI経由で利用可能なJMSメッセージキューを持つアプリケーションサーバーで実行されるときに使用されるデフォルトの2つのプロファイル、組み込みJMSキューを使用する代替プロファイル(JNDIは関係しません)。私のデフォルトのプロファイルについてはSpring Bootが必要でないときにJndiConnectionFactoryを自動設定する方法
私はこのようなエントリがあります:私の埋め込まれたプロファイルの
@Profile("default")
public class JmsConfigurationJNDI {
@Resource(mappedName = "jms/InboundAsynchronousQueue")
private Destination inboundAsynchronousQueue;
を私はこれを持っている:
私が持っている問題は、私は spring.jmsを設定する必要があるということです@Profile({"local"})
public class JmsConfigurationLocal {
@Inject
private ConnectionFactory connectionFactory;
@Bean
public JmsTemplate inboundAsynchronousQueueTemplate() {
JmsTemplate jmsTemplate = new JmsTemplate(connectionFactory);
jmsTemplate.setDefaultDestinationName("inboundAsynchronousQueue");
return jmsTemplate;
}
私ののデフォルト名はです。
しかし、私が他のプロファイルに設定したくないのは、もしそれが設定されていれば、JndiConnectionFactoryAutoConfigurationがオフになり、望ましくないJndiConnectionFactoryを設定するからです。
代替のプロファイルには、JNDI接続ファクトリをサポートするデフォルトのプロファイルではなく、別のJNDI固有のプロファイルを持たずに、デフォルトで指定されたプロパティが含まれていないとはどうして言えますか?
私は既にデフォルトプロファイルをデフォルトプロファイルに持っています。私が望むのは、デフォルトのプロファイルに保持されているプロパティを不足しているプロパティに置き換える2番目のプロファイルです。 – PaulNUK
申し訳ありませんが、私は完全に理解しているか分かりません。私はあなたが2つのプロパティファイル、つまりapplication-default.propertiesとapplication-local.propertiesを持っていると考えていました。ここで、spring.jms.jndi-nameプロパティはapplication-default.properties内に定義されていますが、application-local.properties内には定義されていません。 spring.profiles.active = defaultの場合は、spring.profiles.active = localで設定した場合にのみapplication-default.propertiesの読み込みを実行し、その逆も行います。私はあなたが専らプロファイルと両方を実行していないと仮定しています。 – anand1st