[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Dúvidas no RecordSet
- Subject: Re: Dúvidas no RecordSet
- From: Ivan Neto <ivanneto@xxxxxxxxxx>
- Date: Thu, 14 Apr 2005 00:31:37 -0300
Ola Tiago. Alguns palpites:
Citando Tiago Motta Jorge <tigod@linux.ime.usp.br>:
> (1) "interfaces" definidas na IDL, quando utilizadas no tipo de
> retorno de algum método de alguma outra interface, funcionarão como?
> Serão passadas referências?
Acho que é passado por referência sim. O cliente só vê essa interface e delega
as requisições para a implementação noservidor.
> (2) Ao implementar um servente para o RecordSet, como o tipo "Record"
> só é utilizado no lado do cliente, o que devemos retornar?
Acho que os métodos definidos na interface IDL RecordSet devem retornar
referências para objetos CORBA do tipo Record (e não para o objeto servente, que
provavelmente estende RecordPOA). Eu fiz algo parecido com:
RecordImpl recordImpl = new RecordImpl(keyAttr);
byte[] oid = defaultPOA.activate_object(recordImpl);
org.omg.CORBA.Object objectRef = defaultPOA.id_to_reference(oid);
return RecordHelper.narrow(objectRef);
Ou isso pode ser feito de maneira mais curta:
RecordImpl recordImpl = new RecordImpl(keyAttr);
return recordImpl._this_object(orb);
Mas dai acho que seu servente vai ser registrado com o root POA.
Espero ter ajudado. Abracos.
Ivan Neto <ivanneto@ime.usp.br>