[ 
https://issues.apache.org/jira/browse/TOMEE-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503135#comment-13503135
 ] 

Piotr Nowicki commented on TOMEE-599:
-------------------------------------

Hi Guys,

This is the same problem I had few days ago. I've seen John's post on the EJB 
3.2 user's group and added some comment 
(http://java.net/projects/ejb-spec/lists/users/archive/2012-11/message/19) to 
this discussion.

Wonder what will be the reply of the EG as it seems that even for some Java EE 
old-timers it's not so obvious.
                
> TomEE exposing Remote JNDI names not per 
> -----------------------------------------
>
>                 Key: TOMEE-599
>                 URL: https://issues.apache.org/jira/browse/TOMEE-599
>             Project: TomEE
>          Issue Type: Bug
>          Components: Compliance Checks
>    Affects Versions: 1.5.0
>            Reporter: John D. Ament
>
> Section 4.4.2.2 of the EJB 3.1 spec states that the following JNDI locations 
> should be populated for "other client views," which includes remote.  TomEE 
> is instead exposing it as BeanName + Remote.
> This was shown with the following test material
> @Remote
> public interface RemoteDatabaseIntegrator {
>       public void runQuery(String query) throws SQLException;
> }
> @Remote(RemoteDatabaseIntegrator.class)
> @Stateless(name="RemoteDatabaseIntegrator")
> public class RemoteDatabaseIntegratorImpl implements RemoteDatabaseIntegrator 
> {
>       @Resource(name="jdbc/AppDS")
>       private DataSource ds;
>       private Connection conn;
>       @PostConstruct
>       public void init() throws SQLException {
>               this.conn = ds.getConnection();
>       }
>       @PreDestroy
>       public void cleanup() throws SQLException {
>               this.conn.close();
>       }
>       public void runQuery(String query) throws SQLException {
>               this.conn.createStatement().execute(query);
>       }
> }
> @RunWith(Arquillian.class)
> @RunAsClient
> public class RemoteDatabaseIntegratorTest {
>       @Deployment(testable=false)
>       public static JavaArchive createTestArchive() {
>               return ShrinkWrap.create(JavaArchive.class,"test.jar")
>                               
> .addClasses(RemoteDatabaseIntegrator.class,RemoteDatabaseIntegratorImpl.class);
>       }
>       
>       @ArquillianResource
>       private URL deploymentURL;
>       
>       private static final String JNDI_LOC = "RemoteDatabaseIntegratorRemote";
>       
>       @Test
>       public void testDbServiceInjectionFailure() throws Exception{
>               Properties p = new Properties();
>               p.put("java.naming.factory.initial", 
> "org.apache.openejb.client.RemoteInitialContextFactory");
>               String providerUrl = 
> String.format("http://%s:%s/tomee/ejb",deploymentURL.getHost(),deploymentURL.getPort());
>               p.put("java.naming.provider.url", providerUrl);
>               Context context = new InitialContext(p);
>               RemoteDatabaseIntegrator dbIntegrator = 
> (RemoteDatabaseIntegrator)context.lookup(JNDI_LOC);
>               dbIntegrator.runQuery("select 1");
>       }
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to