Я хотел инкапсулировать детали создания/разрешения пункта назначения в какую-то реализацию 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);
}
}
ОБНОВЛЕНИЕ
Будет ли лучше просто обернуть конкретную задачу в действие выполнения?