If you're not using Eclipse (free) or Intellij ($$$) IDE, I suggest you give one of them a try as they will catch all of these errors for you, and will automatically perform annoying tasks like managing imports.

-dain

On Oct 23, 2007, at 3:21 AM, Karan Malhi wrote:

You will need to add the import for the javax.annotation package.
Please also add geronimo-annotation_1.0_spec-1.1.jar to the classpath.

On 10/23/07, satsuma <[EMAIL PROTECTED]> wrote:

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.




--
Karan Singh Malhi

Reply via email to