宛先の作成/解決の詳細をある種の DestinationResolver 実装にカプセル化したかったのです。
詳細は、接続の作成、セッションの作成、宛先の作成/解決です。
そのような実装は悪いアプローチでしょうか?
public class SessionAwareDestinationResolver extends DynamicDestinationResolver {
private Session session;
@Inject
public SessionAwareDestinationResolver(ConnectionFactory connectionFactory) {
try {
Connection connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
} catch (JMSException ex) {
throw JmsUtils.convertJmsAccessException(ex);
}
}
public Destination resolveDestinationName(String destinationName,
boolean pubSubDomain) throws JMSException {
return super.resolveDestinationName(session, destinationName,
pubSubDomain);
}
}
アップデート
特定のタスクを実行アクションでラップするだけのより良いアプローチでしょうか?