[SCBCD] Quem sabe responder esta questão?

5 respostas
D

Quem souber, responda a esta pergunta que eu encontrei num mock.

Segundo o software do mock eu errei a resposta desta questão, mas acredito que talvez esta questão esteja errada.

Consider the bean code shown in Exhibit. Assuming that there is no deployment descriptor given with the bean, which of the following options can be inserted at //1 without causing any exception? Exhibit:
package com.enthu.ejbplus;

import java.sql.*;
import javax.annotation.Resource;
import javax.ejb.*;
import javax.sql.DataSource;

@Stateless
@Remote(com.enthu.ejbplus.TellerRemote.class)
@Resource(name="jdbc/ejbplus", type=DataSource.class)
public class TellerBean {
    
    @Resource
    SessionContext sctx;
    
    public TellerBean() {
    }
   
    public double getBalance(int acctid){

       // Line 1 : insert code here

    }
}

a) DataSource ds = sctx.lookup("jdbc/ejbplus");

b) Principal p = sctx.getCallerPrincipal();

c) RequestDispatcher rd = sctx.getRequestDispatcher();

d) Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("jdbc/ejbplus");

Segundo o software há duas respostas corretas.

5 Respostas

C

Eu acho que as corretas são os itens b e d.

D

Carneiro, não me leve a mau, eu vou contestar a sua resposta, mas com o sentido de chegarmos ao correto, pode ser que eu esteja errado.

Você diz que a letra D é correta.

Mas para a D ser correta não teria que ser da seguinte forma:

Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/ejbplus");

??

C

Oi Dok,

você tem todo o direito de constestar, e outra, eu falei “eu acho”. :slight_smile:

Seguinte, chutei esses dois itens por eliminação, pois:

a) não me lembro se tem o método lookup no objeto SessionContext

c) sem comentários

C

a,b e c não dão NullPointerException?

sctx não foi inicializado! Ou a inicialização foi omitida?

Qual a resposta do Mock? Tem explicação?

abraço!

D

O que mock diz é que as respostas corretas são a B e a D.

A A não pode ser pelo fato de não haver cast.

A B está correta e não há dúvidas quanto a isso.

A C está totalmente errada, esse método não existe no SessionContext.

Na D é que está a dúvida. É o que o TriTonE falou, até onde sei o correto seria o colocar o caminho completo (java:comp/env/jdbc/ejbplus) e não o relativo (jdbc/ejbplus).

Nos testes que fiz aqui, isso também se comprova, mas pode ser que eu esteja fazendo algo de errado.

Criado 27 de janeiro de 2008
Ultima resposta 28 de jan. de 2008
Respostas 5
Participantes 3