Thanks for the help Dain, but still not working.

@Resources does not work either. The error message is the same "Cannot find
symbol: class Resources". I also tried with @Resource inside the class like
you said, but no success. I added geronimo-activation...jar to my classpath
so that the compiler won't give error about the DataSource.



Dain Sundstrom wrote:
> 
> 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 <[EMAIL PROTECTED]> 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.
>>
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Where-do-I-get-javax.persistence-package--tf4648542.html#a13360830
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to