[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

kaolzz

Bom, acredito que as respostam corretas sejam a letra A e a letra B

D

Foi exatamente o que eu respondi. Porém, a opção A está errada pela falta de um cast, deveria ser

O software aponta como corretas a B e a D.

Mas eu acredito que a D também esteja errada. Ao meu ver o correto seria:

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

D

Maracuja:

A resposta certa é mesmo são as letras B e D, pois ao efetuar lookup, ao fazer a busca na árvore JNDI o contexto java:comp/env ja é implícito portanto para buscar um recurso em java:comp/env/jdbc/ejbplus vc precisa apenas fazer lookup em jdbc/ejbplus. Da uma olhada na especificação JSR 220.

Eu recomendo, se você está se preparando para a prova e não tem muira experiência com EJB3, JPA e etc… faça algum projeto em casa que utilize toda essa tecnologia e teste tudo que vc está estudando. Se vc tivesse feito um teste, ja teria descoberto a resposta certa.

[]'s

Maracuja, fico grato pela sua tentativa de ajuda. Antes de qualquer coisa, eu testei isso antes e trouxe essa minha dúvida pra certificar-me que o mock esteja com erro ou eu não estava sabendo de algum detalhe a mais.

Porém, talvez eu aconselho a você testar a sua afirmação (se tivesse testado também já teria descoberto) e também a ler a JSR-220 - mesmo você já sendo SCBCD - que acredito que você não tenha lido, já que o que ela diz é exatamente o contrário do que você afirma.

Apenas para confirmar, a letra D não está certa. Ela estaria correta se fosse da seguinte forma:

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

JMan

dok:
Foi exatamente o que eu respondi. Porém, a opção A está errada pela falta de um cast, deveria ser

O software aponta como corretas a B e a D.

Mas eu acredito que a D também esteja errada. Ao meu ver o correto seria:

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

A resposta certa é mesmo são as letras B e D, pois ao efetuar lookup, ao fazer a busca na árvore JNDI o contexto java:comp/env ja é implícito portanto para buscar um recurso em java:comp/env/jdbc/ejbplus vc precisa apenas fazer lookup em jdbc/ejbplus. Da uma olhada na especificação JSR 220.

Eu recomendo, se você está se preparando para a prova e não tem muira experiência com EJB3, JPA e etc… faça algum projeto em casa que utilize toda essa tecnologia e teste tudo que vc está estudando. Se vc tivesse feito um teste, ja teria descoberto a resposta certa.

[]'s

JMan

Hum… só testando mesmo então, me desculpe se cometi o engano e realmente (devo ter confundido os nome para lookup na “mão” e injetados) eu não li toda e espcificação.

Corrigindo:

Teria que ser usado lookup via SessionContext pra funcionar com o nome “reduzido”.

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