tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <d...@iq80.com>
Subject Re: Where do I get javax.persistence package?
Date Mon, 22 Oct 2007 17:26:16 GMT
The class level annotation for declaring resource jndi entries is  
@Resources:

   @Resources({ @Resource(name="PostgreSQL Database",  
type=DataSource.class) })

Also the type attribute is a java.lang.Class object not a  
java.lang.String object.

BTW it is much easier to use field injection like this:

   @Stateless
   public class HelloBean implements Hello {
     @Resource
     private DataSource dataSource;

     public String sayHello() {
       return "Hello from EJB world!";
     }
   }

This way you can avoid all the annoying boiler plate JNDI code.

-dain

On Oct 22, 2007, at 10:02 AM, satsuma wrote:

>
> Hi,
>
> This is not actually solved yet. When I try to compile my bean  
> class, I get
> an error that says:
>
> HelloBean.java:7: cannot find symbol
> symbol: class Resource
> @Resource(name = "PostgreSQL Database", type = "javax.sql.DataSource")
>  ^
> 1 error
>
> My source files look like this
>
> // Remote interface
> import javax.ejb.Remote;
> import java.util.List;
>
> @Remote
> public interface Hello
> {
>   public String sayHello();
> }
>
> // Bean class
>
> import java.util.List;
> import javax.ejb.Stateless;
> import javax.persistence.*;
>
> @Resource(name = "PostgreSQL Database", type = "javax.sql.DataSource")
> @Stateless
> public class HelloBean implements Hello
> {
>   public String sayHello()
>   {
>     return "Hello from EJB world!";
>   }
> }
>
> There's no database operations yet, because I'm first trying to get it
> through the compiler with the Resource annotation. The  
> PersistenceContext
> annotation does not cause any errors.
>
> My classpath is
>
> .:/opt/apache-tomcat-6.0.10/lib/servlet-api.jar:
> /opt/apache-tomcat-6.0.10/lib/jsp-api.jar:
> /usr/share/java/postgresql-jdbc3-8.1.jar:/opt/junit/junit-4.4.jar:
> /opt/openejb-3.0-beta-1/lib/geronimo-ejb_3.0_spec-1.0.jar:
> /opt/openejb-3.0-beta-1/lib/openejb-client-3.0-beta-1.jar:
> /opt/openejb-3.0-beta-1/lib/geronimo-jpa_3.0_spec-1.1.jar
>
> Is there something missing?
>
> Java is version 1.5.0_08.
>
>
> satsuma wrote:
>>
>> Thanks Dario, that does it!
>>
>> Allthough I have no problem with the compilation part any more, but I
>> still can't get the database connection to work. I'll make a  
>> thread for
>> the new question, to keep this thread under the current subject.
>>
>>
>> Dario Laverde wrote:
>>>
>>> Hello Satsuma,
>>>
>>> Add the following 2 jars to your classpath:
>>>
>>> geronimo-ejb_3.0_spec-1.0.jar
>>> geronimo-jpa_3.0_spec-1.1.jar
>>>
>>> For an example (using Tomcat) check my blog entry at:
>>> http://javanotebook.com/2007/09/28/openejb_3_and_tomcat_6.html
>>>
>>> -Dario
>>>
>>>> Thank you Mohammad for your reply.
>>>>
>>>> I can not find such a jar file from the lib directory. The only  
>>>> ones
>>>> close
>>>> to that(containing 'persistence') are openjpa- 
>>>> persistence-1.0.0.jar and
>>>> openjpa-persistence-jdbc-1.0.0.jar, so I added both of those to my
>>>> classpath, but that didn't solve the problem. Any more tips?
>>>>
>>>>
>>>>
>>>> Mohammad Nour El-Din wrote:
>>>>>
>>>>> Try including the persistence-api-XXXX.jar found in the
>>>>> ${openejb.home}/lib
>>>>> directory .
>>>>>
>>>>> On 10/18/07, satsuma <karijakari@hotmail.com> wrote:
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have just started EJB programming and I ran into a problem,  
>>>>>> when
>>>>>> trying
>>>>>> to
>>>>>> implement a simple stateless session bean that accesses  
>>>>>> database. I
>>>>>> have
>>>>>> been following the instruction in the openEJB documentation page,
>>>>>> http://openejb.apache.org/databases.html
>>>>>>
>>>>>> When I try to compile my class, I get an error that states  
>>>>>> "package
>>>>>> javax.persistence.* does not exist" and because of this I can  
>>>>>> not use
>>>>>> annotations such as @Resource or @PersistenceContext. The  
>>>>>> @Stateless
>>>>>> annotation on the other hand, works as supposed(I made the  
>>>>>> hello world
>>>>>> tutorial from the documentation).
>>>>>>
>>>>>> I have added geronimo-ejb_3.0_spec-1.0.jar and
>>>>>> openejb-client-3.0-beta-1.jar
>>>>>> to my classpath, do I need to add something more?
>>>>>>
>>>>>> Thanks.
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/Where-do-I-get-javax.persistence- 
>>>>>> package--tf4648542.html#a13279676
>>>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks
>>>>> - Mohammad Nour
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Where-do-I-get-javax.persistence-package-- 
>>>> tf4648542.html#a13281604
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Where-do-I-get- 
> javax.persistence-package--tf4648542.html#a13346735
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>


Mime
View raw message