[quote=AUser]Ok, vamos partir do mais simples.
Que padrão você está usando para a persistência? Como está funcionando? Como você está deployando as libs?
[]'s[/quote]
Bem, vou colocar os arquivos aki.
Meu Persistence.xml
<persistence version="1.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_1_0.xsd">
<persistence-unit name="ticket-s">
<properties>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url" value="jdbc:mysql://apache/ticket-s" />
<property name="hibernate.connection.username" value="admin" />
<property name="hibernate.connection.password" value="123123" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.connection.pool_size" value="6" />
<property name="hibernate.connection.autoReconnect" value="true" />
<property name="hibernate.generate_statistics" value="false" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.use_sql_comments" value="false" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
O remoting-config
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<destination id="parametroService">
<properties>
<source>com.equipes.sticket.controller.ParametroJpaController</source>
<scope>session</scope>
</properties>
</destination>
<destination id="clienteService">
<properties>
<source>com.equipes.sticket.controller.ClienteJpaController</source>
<scope>session</scope>
</properties>
</destination>
</service>
Services-config
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service-include file-path="remoting-config.xml"/>
</services>
<security>
<login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
</security>
<channels>
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint url="https://{server.name}:{server.port}/{context.root}messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
</channels>
<logging>
<target class="flex.messaging.log.ConsoleTarget" level="Error">
<properties>
<prefix>[BlazeDS]</prefix>
<includeDate>false</includeDate>
<includeTime>false</includeTime>
<includeLevel>false</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint.*</pattern>
<pattern>Service.*</pattern>
<pattern>Configuration</pattern>
</filters>
</target>
</logging>
<system>
<redeploy>
<enabled>false</enabled>
</redeploy>
</system>
</services-config>
Minha Classe ParametroJPAController mapeada no Remote-config
[code]
public class ParametroJpaController {
private static Logger logger = Logger.getLogger(ParametroJpaController.class);
public ParametroJpaController() {
logger.debug("** Criou a instancia Parametro e o EMF");
emf = Persistence.createEntityManagerFactory("ticket-s");
}
private EntityManagerFactory emf = null;
public EntityManager getEntityManager() {
logger.debug("** Criou Entity manager de Parametro");
return emf.createEntityManager();
}
public void create(Parametro parametro) {
if(parametro.getIdParametro() == null || parametro.getIdParametro() == 0){
parametro.setIdParametro(null);
}
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
em.merge(parametro);
em.getTransaction().commit();
} finally {
if (em != null) {
em.close();
}
}
}
public void edit(Parametro parametro) throws NonexistentEntityException, Exception {
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
parametro = em.merge(parametro);
em.getTransaction().commit();
} catch (Exception ex) {
String msg = ex.getLocalizedMessage();
if (msg == null || msg.length() == 0) {
Integer id = parametro.getIdParametro();
if (findParametro(id) == null) {
throw new NonexistentEntityException("The parametro with id " + id + " no longer exists.");
}
}
throw ex;
} finally {
if (em != null) {
em.close();
}
}
}
public void destroy(Integer id) throws NonexistentEntityException {
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
Parametro parametro;
try {
parametro = em.getReference(Parametro.class, id);
parametro.getIdParametro();
} catch (EntityNotFoundException enfe) {
throw new NonexistentEntityException("The parametro with id " + id + " no longer exists.", enfe);
}
em.remove(parametro);
em.getTransaction().commit();
} finally {
if (em != null) {
em.close();
}
}
}
public List<Parametro> findParametroEntities() {
return findParametroEntities(true, -1, -1);
}
public List<Parametro> findParametroEntities(int maxResults, int firstResult) {
return findParametroEntities(false, maxResults, firstResult);
}
private List<Parametro> findParametroEntities(boolean all, int maxResults, int firstResult) {
EntityManager em = getEntityManager();
try {
Query q = em.createQuery("select object(o) from Parametro as o");
if (!all) {
q.setMaxResults(maxResults);
q.setFirstResult(firstResult);
}
return q.getResultList();
} finally {
em.close();
}
}
public Parametro findParametro(Integer id) {
EntityManager em = getEntityManager();
try {
return em.find(Parametro.class, id);
} finally {
em.close();
}
}
public int getParametroCount() {
EntityManager em = getEntityManager();
try {
return ((Long) em.createQuery("select count(o) from Parametro as o").getSingleResult()).intValue();
} finally {
em.close();
}
}
}[/code]
Meu remote Object em MXML
[code]<mx:RemoteObject id="saveService" destination="parametroService" result="handleSaveResult(event)"
fault="handleFault(event)" showBusyCursor="true"/>[/code]
Bem Basicamente é isso repetido n vezes com varias classes e varios RemoteObjects