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
[code]public class Mensagem implements Serializable {
private T t;
enviar(Object objeto, Class _class){
…
setT( _class.cast(objeto));
ObjectMessage om = session.createObjectMessage();
om.setObject(this.t);
QueueSender sender = session.createSender(queue);
sender.send(om);
…
}
…}[/code]
que é usada assim:
[code]Mensagem jms = new Mensagem();
Financeiro f = new Financeiro()
f.setXX();
jms.enviarMensagem(f, Financeiro.class)
//preciso que o tipo Financeiro seja passado via reflection neste momento => Mensagem jms = new Mensagem();
[/code]
Eu preciso criar um objeto Mensagem usando o tipo de classe retornado pelo metodo tipoObjetoMensagem(…). Como eu [poderia fazer isso ? Não estou conseguindo…