With my note on datasourcedefinition i wanted to avoid to add sthg new. I'd prefer to fix existing API/specs.
Adding sthg new simply creates another mess...no? - Romain Le 5 mai 2012 22:39, "Paul Dijou" <[email protected]> a écrit : > Hi, > > Big +1 for all suggestions from Mark. > > Also +1 for some util classes for common operations like CRUD and > pagination. Maybe inspiration from Seam Application Framework (Home, Query, > Controller) in Seam 2 [1] or from DataValve [2]. > > Regards, > > Paul. > > [1] > http://docs.jboss.org/seam/2.2.2.Final/reference/en-US/html/framework.html > > [2] http://www.andygibson.net/blog/projects/datavalve/ > > 2012/5/5 Romain Manni-Bucau <[email protected]> > > > Maybe using a datasource bean managed by cdi as a jpa datasource source > can > > be added to jpa or cdi (it is always a bit hard to decide which specs > > qhould contain a new feature ;))? > > Le 5 mai 2012 00:55, "Romain Manni-Bucau" <[email protected]> a > > écrit : > > > > > Hi, > > > > > > isn't the ConfigurableDataSource in JEE6? (datasourceconfiguration by > > > annotation or in the web.xml)? > > > > > > a really really big +1 for a pagination solution (typically a hades > light > > > is a must have!) > > > > > > - Romain > > > > > > > > > 2012/5/4 Gerhard Petracek <[email protected]> > > > > > >> hi @ all, > > >> > > >> @ a) > > >> +1 > > >> > > >> @ b) > > >> +1 for the basic concepts, however, @Transactional and > > @TransactionScoped > > >> need to be refactored (i'm currently working on it). > > >> > > >> furthermore, we should discuss a thin query layer which supports e.g. > > >> pagination,... easily (we also need it for a security-jpa module). > > >> > > >> regards, > > >> gerhard > > >> > > >> > > >> > > >> 2012/5/4 Mark Struberg <[email protected]> > > >> > > >> > Hi! > > >> > > > >> > It's time to start the discussion about our deltaspike-jpa module I > > >> think > > >> > ;) > > >> > > > >> > a.) where > > >> > I suggest that we create a ee-modules project with submodules jsf, > > jpa, > > >> > etc > > >> > > > >> > b.) what > > >> > *) @Transactional > > >> > *) TransactionalInterceptor with SimplePersistenceStrategy, > > >> > JtaPersistenceStrategy > > >> > *) ConfigurableDataSource, evaluate if we can make use of a special > > >> > PersistenceUnitInfo for JPA2 providers, but would that work in EE > > >> > containers as well? > > >> > > > >> > Because I often get asked if we can add this: I think we do _not_ > need > > >> to > > >> > cover the (imo) broken Exception handling stuff which spring > > introduced > > >> in > > >> > their transaction interceptor. An Exception is an Exception is an > > >> > Exception! Logical return values and Business results must get > > >> propagated > > >> > via standard java return values or content holder objects. > > >> > > > >> > Oki the details: > > >> > > > >> > 1.) @Transational > > >> > > > >> > I suggest that we temporarily implement the javax.transaction.* > stuff > > of > > >> > the _new_ Transaction Specification in DeltaSpike. We can take parts > > >> from > > >> > OpenEJB, some JBoss api stuff (as far as covered by the grants) and > > >> various > > >> > geronimo spec jars [1] > > >> > Once the spec is finished, we will move all the transaction-api.jar > > >> stuff > > >> > over to geronimo-specs [1]. Since this all is ALv2 it will be no > > problem > > >> > for JBoss folks to also just take the code and provide it in the > > JBossAS > > >> > project once we are finished. > > >> > > > >> > 2.) I like the way we implemented the TransactionalInterceptor in > CODI > > >> > [2]. Our interceptor basically does exactly ... *nothing* ;) > > >> > All the work is done via an @Dependent PersistenceStrategy which > gets > > >> > injected into the interceptor. @Dependent because then we don't get > > any > > >> > interceptor and it's really fast. > > >> > The BIG benefit of this little trick is that we are able to provide > > and > > >> > use DIFFERENT PersistenceStrategies! A user can use @Alternative, > > >> > @Specializes etc to define which PersistenceStrategy he likes to use > > in > > >> his > > >> > project. > > >> > > > >> > By default I'd like to provide the following PersistenceStrategies: > > >> > * SimplePersistenceStrategy: does just flush on all involved > > >> > EntityManagers and afterwards a commit. Not JTA transaction save, > but > > >> good > > >> > enough for most use cases > > >> > * JtaPersistenceStrategy: uses a JTA bound @UserTransaction to > > control > > >> > the EntitaManagers. This needs some exploration how we can do it. > > David > > >> > Blevins and Arne Limburg are pretty good into this stuff. I'm > dreaming > > >> of > > >> > kind of the features of EJB standard transations, but NOT just for > an > > >> EJB > > >> > invocation, but @RequestScoped! The first invocation starts the > > >> > UserTransaction, the @Disposes closes it. Just an idea ... > > >> > > > >> > > > >> > 3.) ConfigurableDataSource > > >> > You all know the dilemma: you cannot make a JNDI configuration in a > > way > > >> > that this stuff works with multiple EE servers since the locations > > where > > >> > you have your DataSource configured will pop up under different > > >> locations > > >> > in JNDI (based on which EE server/version you take). Otoh I don't > like > > >> to > > >> > hardcode my credentials to the persistence.xml neither. > > >> > > > >> > Thus we came up with the ConfigurableDataSource [3]which just moves > > this > > >> > information to a CDI bean where you can use > > >> > @Exclude(ifNotInProjectStage...), @Alternative, @Specializes and > even > > >> > programmatic lookup!. I call this 'typesafe configuration'... > > >> > > > >> > > > >> > > > >> > Oki, any other ideas? > > >> > > > >> > LieGrue, > > >> > strub > > >> > > > >> > > > >> > [1] http://repo1.maven.org/maven2/org/apache/geronimo/specs/ > > >> > > > >> > [2] > > >> > > > >> > > > https://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/transaction/TransactionalInterceptor.java > > >> > > > >> > [3] > > >> > > > >> > > > https://cwiki.apache.org/EXTCDI/jpa-usage.html#JPAUsage-ConfigurableDataSource%28sincev1.0.2%29 > > >> > > > >> > > > > > > > > >
