Я предполагаю, что вы оставляете свой EntityManager
открытым после того, как вернете данные в flex, что, в свою очередь, означает, что ваше MySQL Connection остается открытым. Вот откуда, скорее всего, и происходит утечка памяти. Итак - закрой свой EntityManager
.
В другом комментарии вы сказали, что используете GlassFish. Это совершенно новый сценарий. Ваш класс это сервлет? EJB? Предполагается, что GlassFish управляет вашими EntityManager (если сам класс управляется), поэтому вам не нужно создавать или закрывать его самостоятельно. В таких случаях используйте аннотацию @PersistenceContext
для добавления EntityManager
(вместо использования Persistence.create..
)
Но все, что вы должны сделать, независимо от настроек, это запустить профилировщик и посмотреть, где эта память выделена.