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.