Tenho o metodo abaixo que retorna uma instancia do tipo do objeto que esta na mensagem.
private Object tipoObjetoMensagem(Message message) throws FinanceiroException {
Object objeto = null;
try {
objeto = Class.forName(message.getBody().get().getClass().getName()).newInstance();
} catch (ClassNotFoundException e) {
throw new FinanceiroException(e);
} catch (InstantiationException e) {
throw new FinanceiroException(e);
} catch (IllegalAccessException e) {
throw new FinanceiroException(e);
}
return objeto;
}
Eu tenho uma classe que recebe um tipo de classe T
public class Mensagem<T extends Serializable> implements Serializable {
private T t;
enviar(Object objeto, Class<T> _class){
...
setT( _class.cast(objeto));
ObjectMessage om = session.createObjectMessage();
om.setObject(this.t);
QueueSender sender = session.createSender(queue);
sender.send(om);
...
}
..}
que é usada assim:
Mensagem<Financeiro> jms = new Mensagem<Financeiro>();
Financeiro f = new Financeiro()
f.setXX();
jms.enviarMensagem(f, Financeiro.class)
//preciso que o tipo Financeiro seja passado via reflection neste momento => Mensagem<Financeiro> jms = new Mensagem<Financeiro>();
Eu preciso criar um objeto Mensagem usando o tipo de classe retornado pelo metodo tipoObjetoMensagem(..). Como eu [poderia fazer isso ? Não estou conseguindo...