Im having problems on deploying my sample Spring Roo Application on Glassfish Server 18.104.22.168 and it gives me an error message like this:
An error has occurred Error occurred during deployment: Exception while preparing the app : The persistence-context-ref-name [com.springsource.roo.domain.Pizza/entityManager] in module [pizzashop-0.1.0.BUILD-SNAPSHOT] resolves to a persistence unit called [persistenceUnit] which is of type RESOURCE_LOCAL. Only persistence units with transaction type JTA can be used as a container managed entity manager. Please verify your application.. Please see server.log for more details.
You have not posted any configuration so its hard to say for sure but are you trying to container managed transactions? If you are that will cause the problem. If not there are a couple other things to look at:
2. If you want to use a higher servlet spec you can set meta-data complete = true
The reason for this is because of the annotation configuration feature introduced with Servlet 2.5 spec. If it finds a @PersistenceContext annotation Glassfish tries to build the persistence context using a container managed entity manager factory. This obviously would not work for RESOURCE_LOCAL. By adding this extra attribute you are telling the container to disable all annotations specified in Servlet 2.5 spec. You can still use those annotations though as Spring will manage it not the container.
3. The last option is to not use RESOURCE_LOCAL but rather configure things to be JTA managed instead.