Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #8001
| From | Arved Sandstrom <asandstrom3minus1@eastlink.ca> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: JSF/JPA problem |
| References | (1 earlier) <VZObq.20744$oz6.19581@newsfe11.iad> <XcPbq.17471$CQ4.165@newsfe09.iad> <j4om1r$a40$1@dont-email.me> <EWRbq.10526$EP3.6864@newsfe05.iad> <j4or6k$ctb$1@dont-email.me> |
| Message-ID | <MqTbq.18258$YA4.3466@newsfe14.iad> (permalink) |
| Organization | Public Usenet Newsgroup Access |
| Date | 2011-09-13 22:28 -0300 |
On 11-09-13 09:06 PM, markspace wrote:
> On 9/13/2011 4:45 PM, Arved Sandstrom wrote:
>
>> You could try leaving out the flush(), and simply close the EM at the
>> end of createPost(). This would track Example 5.7.1.1. Let's see if you
>> still get the TransactionRequiredException. That would then demonstrate
>> that there really is no active JTA transaction...
>
>> Since you expect to be set up for JTA, you could also dispense with the
>> use of application-managed, and use @PersistenceContext DI instead, a la
>> Example 5.6.4.1 - this is about as easy as it gets.
>
>
> Just to reiterate the post I just added to this thread, I already
> switched to PersistenceContext for DI, and the error has now moved from
> the em.flush() to the em.persist( post ) on the line previous. So I
> have to conclude that if I add an em.close(), I'll still now have the
> error previous to the close(). I'll give it a try at some point.
>
>
>> You have me interested; I will try this situation out on Glassfish.
>
>
> Thanks for playing around with this, it really has me stumped.
I just now fired up a new EAR app in Eclipse Indigo running Glassfish
3.1; two projects, a WAR, and a EJB project with the JPA facet. I am
using PostgreSQL 9.0, and set up a datasourec against that in the
Glassfish admin console. The persistence.xml was extremely simple:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="StateMachinesServices
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider
<jta-data-source>jdbc/PostgreSQLPool</jta-data-source
<class>org.ahs.sm.model.State</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="none"/>
<property name="eclipselink.target-database" value="PostgreSQL"/
</properties>
</persistence-unit>
</persistence>
The single test entity is set up as
@Entity
public class State implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name = "STATE_ID_GEN",
sequenceName="STATE_ID_SEQ", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,
generator = "STATE_ID_GEN")
private Integer id;
private String name;
private String status;
...
}
The session bean I set up as
@Stateless
@LocalBean
public class CreateState {
@PersistenceUnit
EntityManagerFactory emf;
public void createState() {
EntityManager em = emf.createEntityManager();
State state = new State();
state.setName("state1");
state.setStatus("OK");
em.persist(state);
em.close();
}
}
This is simply called from a JSF managed bean method hit through a
h:commandButton. So essentially your setup.
I just now noticed something, though, which might well explain the
problem. I have a genuine unvarnished EJB (my CreateState session bean).
You on the other hand have something that looks like a hybrid: both
javax.ejb.Stateless and javax.faces.bean.ManagedBean annotations on it.
I have no idea what this combo will do. :-)
When I call my session bean from my JSF managed bean, I inject it with
@EJB. You're not doing that, so you have basically what looks like a
basic Java method call, and there's a good chance the annotations are
being ignored.
Side note: when I set this new project up tonight I started out with JDK
1.7. Bad move - VerifyErrors and what have you. I had to switch back to
JDK 1.6.
AHS
--
job creator: US Republican term for a wealthy party contributor
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
JSF/JPA problem markspace <-@.> - 2011-09-13 09:19 -0700
Re: JSF/JPA problem Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-13 17:24 -0300
Re: JSF/JPA problem Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-13 17:40 -0300
Re: JSF/JPA problem markspace <-@.> - 2011-09-13 15:38 -0700
Re: JSF/JPA problem markspace <-@.> - 2011-09-13 17:06 -0700
Re: JSF/JPA problem Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-13 22:28 -0300
Re: JSF/JPA problem Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-13 22:31 -0300
Re: JSF/JPA problem markspace <-@.> - 2011-09-13 19:27 -0700
Re: JSF/JPA problem Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-14 05:59 -0300
Re: JSF/JPA problem markspace <-@.> - 2011-09-14 10:36 -0700
Re: JSF/JPA problem Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-14 17:51 -0300
Re: JSF/JPA problem markspace <-@.> - 2011-09-13 16:12 -0700
csiph-web