<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    EJB 3.0 and env-entry injection
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/ozizka%40redhat.com">Ondrej Zizka</a> in <i>EJB 3.0</i> - <a href="http://community.jboss.org/docs/DOC-15944">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>package</b></font> org.acme;
&#160;
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> MyClass <font color="navy">{</font>
&#160;
&#160; @Resource(name=<font color="red">"providerURL"</font>) String field;
&#160;
<font color="navy">}</font>
&#160;
&#160;
&lt;env-entry&gt;
 &lt;env-entry-name&gt;providerURL&lt;/env-entry-name&gt;
 &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
 &lt;env-entry-value&gt;ldap:<font color="darkgreen">//localhost:389/&lt;/env-entry-value&gt;</font>
&lt;/env-entry&gt;
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>OR</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java">
<font color="navy"><b>package</b></font> org.acme;
&#160;
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> MyClass <font color="navy">{</font>
&#160; @Resource String field;
<font color="navy">}</font>
&#160;
&lt;env-entry&gt;
 &lt;env-entry-name&gt;org.acme.MyClass/field&lt;/env-entry-name&gt;
 &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
 &lt;env-entry-value&gt;ldap:<font color="darkgreen">//localhost:389/&lt;/env-entry-value&gt;</font>
&lt;/env-entry&gt;
&#160;
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>OR</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>package</b></font> org.acme;
&#160;
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> MyClass <font color="navy">{</font>
&#160; String field;
<font color="navy">}</font>
&#160;
&lt;env-entry&gt;
 &lt;env-entry-name&gt;providerUrl&lt;/env-entry-name&gt;
 &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
 &lt;env-entry-value&gt;ldap:<font color="darkgreen">//localhost:389/&lt;/env-entry-value&gt;</font>
 &lt;injection-target&gt;
 &lt;injection-target-class&gt;org.acme.MyClass&lt;/injection-target&gt;
 &lt;injection-target-name&gt;field&lt;/injection-target-name&gt;
 &lt;/injection-target&gt;
&lt;/env-entry&gt;
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>@Resource int maxExemptions = 4;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&lt;env-entry&gt;<br/>&#160;&#160; &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;<br/>&#160;&#160; &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;<br/>&#160;&#160; &lt;env-entry-value&gt;15&lt;/env-entry-value&gt;<br/>&lt;/env-entry&gt;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If you download the entire source from CVS (jboss-head), there are examples in the ejb3 JUnit tests. Take a look at the enventry test. Here is an example bean and ejb-jar.xml</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java">@Stateless(name=<font color="red">"TestEnvEntry"</font>)
@Remote(TestEnvEntry.class)
@RemoteBinding(jndiBinding=<font color="red">"TestEnvEntry"</font>)
public&#160; <font color="navy"><b>class</b></font> TestEnvEntryBean&#160;&#160; <font color="navy"><b>implements</b></font> TestEnvEntry
<font color="navy">{</font>
&#160;
&#160; private&#160; <font color="navy"><b>static</b></font> <font color="navy"><b>final</b></font> Logger log = Logger.getLogger(TestEnvEntryBean.class);
&#160;
&#160; @Resource(name=<font color="red">"maxExceptions"</font>) <font color="navy"><b>private</b></font> <font color="navy"><b>int</b></font> maxExceptions = 4;
&#160;
&#160; @Resource <font color="navy"><b>private</b></font> <font color="navy"><b>int</b></font> numExceptions = 3;
&#160;
&#160; <font color="navy"><b>private</b></font> <font color="navy"><b>int</b></font> minExceptions = 1;
&#160;
&#160; <font color="navy"><b>public</b></font> <font color="navy"><b>int</b></font> getMaxExceptions()&#160; <font color="navy">{</font>&#160; <font color="navy"><b>return</b></font> maxExceptions;&#160;&#160; <font color="navy">}</font>
&#160;
&#160; <font color="navy"><b>public</b></font> <font color="navy"><b>int</b></font> getNumExceptions() <font color="navy">{</font>&#160; <font color="navy"><b>return</b></font> numExceptions;&#160;&#160; <font color="navy">}</font>
&#160;
&#160; <font color="navy"><b>public</b></font> <font color="navy"><b>int</b></font> getMinExceptions() <font color="navy">{</font>&#160; <font color="navy"><b>return</b></font> minExceptions;&#160; <font color="navy">}</font>
&#160;
<font color="navy">}</font>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-xml">
<span class="jive-xml-tag">&lt;ejb-jar&gt;</span>
&#160; <span class="jive-xml-tag">&lt;display-name&gt;</span>EnvEntry Tests<span class="jive-xml-tag">&lt;/display-name&gt;</span>
&#160; <span class="jive-xml-tag">&lt;enterprise-beans&gt;</span>


&#160;&#160;&#160; <span class="jive-xml-tag">&lt;ejb-name&gt;</span>TestEnvEntry<span class="jive-xml-tag">&lt;/ejb-name&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-name&gt;</span>maxExceptions<span class="jive-xml-tag">&lt;/env-entry-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-type&gt;</span>java.lang.Integer<span class="jive-xml-tag">&lt;/env-entry-type&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-value&gt;</span>15<span class="jive-xml-tag">&lt;/env-entry-value&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/env-entry&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-name&gt;</span>minExceptions<span class="jive-xml-tag">&lt;/env-entry-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-type&gt;</span>java.lang.Integer<span class="jive-xml-tag">&lt;/env-entry-type&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-value&gt;</span>5<span class="jive-xml-tag">&lt;/env-entry-value&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;injection-target&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;injection-target-class&gt;</span>org.jboss.ejb3.test.enventry.TestEnvEntryBean<span class="jive-xml-tag">&lt;/injection-target-class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;injection-target-name&gt;</span>minExceptions<span class="jive-xml-tag">&lt;/injection-target-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/injection-target&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/env-entry&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-name&gt;</span>org.jboss.ejb3.test.enventry.TestEnvEntryBean/numExceptions<span class="jive-xml-tag">&lt;/env-entry-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-type&gt;</span>java.lang.Integer<span class="jive-xml-tag">&lt;/env-entry-type&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-value&gt;</span>10<span class="jive-xml-tag">&lt;/env-entry-value&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/env-entry&gt;</span>



&#160;&#160;&#160; <span class="jive-xml-tag">&lt;ejb-name&gt;</span>ExtendedTestEnvEntry<span class="jive-xml-tag">&lt;/ejb-name&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-name&gt;</span>maxExceptions<span class="jive-xml-tag">&lt;/env-entry-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-type&gt;</span>java.lang.Integer<span class="jive-xml-tag">&lt;/env-entry-type&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-value&gt;</span>14<span class="jive-xml-tag">&lt;/env-entry-value&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/env-entry&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-name&gt;</span>minExceptions<span class="jive-xml-tag">&lt;/env-entry-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-type&gt;</span>java.lang.Integer<span class="jive-xml-tag">&lt;/env-entry-type&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-value&gt;</span>6<span class="jive-xml-tag">&lt;/env-entry-value&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;injection-target&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;injection-target-class&gt;</span>org.jboss.ejb3.test.enventry.ExtendedTestEnvEntryBean<span class="jive-xml-tag">&lt;/injection-target-class&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;injection-target-name&gt;</span>minExceptions<span class="jive-xml-tag">&lt;/injection-target-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/injection-target&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/env-entry&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-name&gt;</span>org.jboss.ejb3.test.enventry.ExtendedTestEnvEntryBean/numExceptions<span class="jive-xml-tag">&lt;/env-entry-name&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-type&gt;</span>java.lang.Integer<span class="jive-xml-tag">&lt;/env-entry-type&gt;</span>
&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;env-entry-value&gt;</span>11<span class="jive-xml-tag">&lt;/env-entry-value&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/env-entry&gt;</span>


&#160; <span class="jive-xml-tag">&lt;/enterprise-beans&gt;</span>
<span class="jive-xml-tag">&lt;/ejb-jar&gt;</span></code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>--------------</p><p>Here is an example.<br/>All three work but I have shown the first 2 in this example</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>ejb-jar.xml</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java">&lt;?xml version=<font color="red">"1.0"</font> encoding=<font color="red">"UTF-8"</font>?&gt;
&lt;ejb-jar version=<font color="red">"3.0"</font>
xmlns=<font color="red">"http://java.sun.com/xml/ns/javaee"</font>
xmlns:xsi=<font color="red">"http://www.w3.org/2001/XMLSchema-instance"</font>
xsi:schemaLocation=<font color="red">"http://java.sun.com/xml/ns/javaee ../../../testapp/ejb-jar_3_0.xsd "</font>&gt;
&#160; &lt;enterprise-beans&gt;
&#160;&#160;&#160; &lt;session&gt;
&#160;&#160;&#160;&#160;&#160; &lt;ejb-name&gt;com.suresh.ejb.test.HelloBean&lt;/ejb-name&gt;
&#160;&#160;&#160;&#160;&#160; &lt;remote&gt;com.suresh.ejb.test.Hello&lt;/remote&gt;
&#160;&#160;&#160;&#160;&#160; &lt;ejb-class&gt;com.suresh.ejb.test.HelloBean&lt;/ejb-class&gt;
&#160;&#160;&#160;&#160;&#160; &lt;session-type&gt;Stateless&lt;/session-type&gt;
&#160;&#160;&#160;&#160;&#160; &lt;transaction-type&gt;Container&lt;/transaction-type&gt;
&#160;&#160;&#160;&#160;&#160; &lt;env-entry&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-name&gt;com.suresh.ejb.test.HelloBean/urls&lt;/env-entry-name&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-value&gt;@ldap.url@&lt;/env-entry-value&gt;
&#160;&#160;&#160;&#160;&#160; &lt;/env-entry&gt;
&#160;&#160;&#160;&#160;&#160; &lt;env-entry&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-name&gt;username&lt;/env-entry-name&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-value&gt;@user.name@&lt;/env-entry-value&gt;
&#160;&#160;&#160;&#160;&#160; &lt;/env-entry&gt;
&#160;&#160;&#160;&#160;&#160; &lt;env-entry&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-name&gt;password&lt;/env-entry-name&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-value&gt;what&lt;/env-entry-value&gt;
&#160;&#160;&#160;&#160;&#160; &lt;/env-entry&gt;
&#160;&#160;&#160;&#160;&#160; &lt;env-entry&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-name&gt;com.suresh.ejb.test.HelloBean/location&lt;/env-entry-name&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;env-entry-value&gt;Australia&lt;/env-entry-value&gt;
&#160;&#160;&#160;&#160;&#160; &lt;/env-entry&gt;
&#160;&#160;&#160;&#160;&#160; &lt;resource-ref&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;res-ref-name&gt;jdbc/user&lt;/res-ref-name&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;res-type&gt;javax.sql.Datasource&lt;/res-type&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;res-auth&gt;Container&lt;/res-auth&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;mapped-name&gt;java:UserDB&lt;/mapped-name&gt;
&#160;&#160;&#160;&#160;&#160; &lt;/resource-ref&gt;
&#160;
&#160;&#160;&#160; &lt;/session&gt;
&#160; &lt;/enterprise-beans&gt;
&#160;
&lt;/ejb-jar&gt;
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>package</b></font> com.suresh.ejb.test;
&#160;
<font color="navy"><b>import</b></font> java.sql.Connection;
<font color="navy"><b>import</b></font> java.sql.ResultSet;
&#160;
<font color="navy"><b>import</b></font> javax.annotation.Resource;
<font color="navy"><b>import</b></font> javax.naming.Context;
<font color="navy"><b>import</b></font> javax.naming.InitialContext;
<font color="navy"><b>import</b></font> javax.sql.DataSource;
&#160;
&#160;
&#160;
<font color="navy"><b>import</b></font> com.suresh.ejb.test.Hello;
&#160;
@javax.ejb.Stateless(name=<font color="red">"com.suresh.ejb.test.HelloBean"</font>)
@javax.ejb.TransactionAttribute (value=javax.ejb.TransactionAttributeType.SUPPORTS)
@javax.annotation.Resource(name=<font color="red">"jdbc/user"</font>,
&#160; type=DataSource.class,
&#160; authenticationType=javax.annotation.Resource.AuthenticationType.CONTAINER,
&#160; mappedName=<font color="red">"java:UserDB"</font>)
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> HelloBean <font color="navy"><b>implements</b></font> Hello <font color="navy">{</font>
&#160;
&#160; @Resource <font color="navy"><b>private</b></font> String urls;
&#160; @Resource(name=<font color="red">"username"</font>) <font color="navy"><b>private</b></font> String provider;
&#160; @Resource(name=<font color="red">"password"</font>) <font color="navy"><b>private</b></font> String pwd;
&#160; @Resource <font color="navy"><b>private</b></font> String location;
&#160;
&#160; <font color="navy"><b>public</b></font> String greet() <font color="navy">{</font>
&#160;&#160;&#160; <font color="navy"><b>return</b></font> urls + <font color="red">" "</font> + location + <font color="red">" "</font> + pwd + <font color="red">" "</font> + provider + <font color="red">" at "</font> + greet1();
&#160; <font color="navy">}</font>
&#160;
&#160; <font color="darkgreen">//example of datasource</font>
&#160; <font color="navy"><b>public</b></font> String greet1() <font color="navy">{</font>
&#160;&#160;&#160; String data = <font color="navy"><b>null</b></font>;
&#160;&#160;&#160; Connection c = <font color="navy"><b>null</b></font>;
&#160;
&#160;&#160;&#160; <font color="navy"><b>try</b></font> <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160; Context ctx = <font color="navy"><b>new</b></font> InitialContext();
&#160;&#160;&#160;&#160;&#160; DataSource ds = (DataSource) ctx.lookup(<font color="red">"java:comp.ejb3/env/jdbc/user"</font>);
&#160;&#160;&#160;&#160; ResultSet rs = ds.getConnection().createStatement().executeQuery(<font color="red">"select sysdate from dual"</font>);
&#160;&#160;&#160;&#160; <font color="navy"><b>while</b></font> (rs.next()) <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160; data = rs.getString(1);
&#160;&#160;&#160;&#160; <font color="navy">}</font>
&#160;&#160;&#160; <font color="navy">}</font> <font color="navy"><b>catch</b></font> (Exception e) <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160; System.err.println(e);
&#160;&#160;&#160;&#160;&#160;&#160; e.printStackTrace();
&#160;&#160;&#160; <font color="navy">}</font> <font color="navy"><b>finally</b></font> <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160; <font color="navy"><b>try</b></font> <font color="navy">{</font>
&#160;&#160;&#160;&#160;&#160;&#160; c.close();
&#160;&#160;&#160; <font color="navy">}</font> <font color="navy"><b>catch</b></font> (Exception e) <font color="navy">{</font>
&#160;&#160;&#160; <font color="navy">}</font>
&#160; <font color="navy">}</font>
&#160; <font color="navy"><b>return</b></font> data;
&#160; <font color="navy">}</font>
<font color="navy">}</font>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><br/>Hello.java</p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>package</b></font> comsuresh.ejb.test;
&#160;
<font color="navy"><b>import</b></font> javax.ejb.Remote;
&#160;
@Remote
<font color="navy"><b>public</b></font> <font color="navy"><b>interface</b></font> Hello <font color="navy">{</font>
&#160; <font color="navy"><b>public</b></font> String greet();
<font color="navy">}</font>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This article was generated from the following discussion: <a class="jive-link-thread-small" href="http://community.jboss.org/thread/106082">EJB 3.0 and env-entry injection</a></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-15944">going to Community</a></p>

        <p style="margin: 0;">Create a new document in EJB 3.0 at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2029">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>