powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Unable to access TransactionManager
5 сообщений из 5, страница 1 из 1
Unable to access TransactionManager
    #39087068
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите откуда приходит ексепшн:

Тестовый проект для JPA. Hiber 5. Weblogic 12.
.ear содержит библиотеки из Хибер папки required, jpa.

persistence.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?xml version="1.0" encoding="windows-1251" ?>
<persistence 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"
             version="1.0">
  <persistence-unit name="JpaBaseWL" transaction-type="JTA">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <jta-data-source>jdbc/JpaBaseWL</jta-data-source>
    <!--<jar-file>Domain.jar</jar-file>-->
    <properties>
      <property name="hibernate.show_sql" value="true"/>
      <property name="hibernate.dialect" value="SQLServer2008"/>
    </properties>
  </persistence-unit>
</persistence>




Client:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
public class FacadeTest {

  Logger log = Logger.getLogger(FacadeTest.class.getName());
  private static ThreadLocal<InitialContext> contextLocal = new ThreadLocal<InitialContext>();
  private static final String url = "t3://DevWLServer:7001";

  public static void main(String[] args) {
    FacadeTest test = new FacadeTest();
    test.getCrazyProjectViaService();
  }

  public void getCrazyProjectViaService() {
    try {
      JPAFacadeService service = getBean("ProjectApp-Domain-JPAFacadeService", JPAFacadeService.class);
      Project p = service.getACrazyProject();
      log.info("Project by Service:" + p.getDescription());
    } catch (NamingException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }


  public static InitialContext getInitialContext() {
    if (url == null || url.length() == 0) {
      return null;
    }
    if (contextLocal.get() == null) {
      try {
        Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
        props.put(Context.PROVIDER_URL, url);
        contextLocal.set(new InitialContext(props));
      } catch (AuthenticationException a) {
        a.printStackTrace();
      } catch (NamingException e) {
        e.printStackTrace();
      }
    }
    return contextLocal.get();
  }

  public static <T> T getBean(String name, Class clazz) throws NamingException {
    String ref = name + "#" + clazz.getCanonicalName();
    T t = (T)getInitialContext().lookup(ref);
    return t;
  }
}



Сервер:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@Stateless(name = "JPAFacadeService", mappedName = "ProjectApp-Domain-JPAFacadeService")
public class JPAFacadeServiceBean implements JPAFacadeService, JPAFacadeServiceLocal {
  @PersistenceContext(unitName = "JpaBaseWL")
  private EntityManager em;


  @TransactionAttribute(TransactionAttributeType.NEVER)
  public Project getACrazyProject() {
    Project pp = em.find(Project.class, 1);  /// <==== падает тут. em - TransactionalEntityManagerProxyImpl
    if (pp != null)
      return pp;
   
  }
}



Не могу понять чего не хватает... Что мешает нормально получить Хиберу транзакцию от контейнера? Есть идеи?
...
Рейтинг: 0 / 0
Unable to access TransactionManager
    #39087077
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть идея:
@TransactionAttribute(TransactionAttributeType.NEVER)
...
Рейтинг: 0 / 0
Unable to access TransactionManager
    #39087083
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я ее поставил в надежде исключить Транзакцию вообще. Без @TransactionAttribute(TransactionAttributeType.NEVER) тоже не работает.

Забыл стэктрейс:

авторjava.lang.IllegalStateException: Can't overwrite cause with weblogic.rjvm.PeerGoneException: No message was received for: '240' seconds
at java.lang.Throwable.initCause(Throwable.java:456)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:124)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:96)
at com.sun.proxy.$Proxy0.getACrazyProject(Unknown Source)
at com.train.FacadeTest.getCrazyProjectViaService(FacadeTest.java:30)
at com.train.FacadeTest.main(FacadeTest.java:24)
Caused by: javax.ejb.EJBException: No message was received for: '240' seconds
... 5 more
Caused by: weblogic.rjvm.PeerGoneException: No message was received for: '240' seconds
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.train.service.JPAFacadeService_nzxz1s_JPAFacadeServiceImpl_12130_WLStub.getACrazyProject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
... 3 more
java.lang.IllegalStateException: Can't overwrite cause with weblogic.rjvm.PeerGoneException: No message was received for: '240' seconds
at java.lang.Throwable.initCause(Throwable.java:456)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:124)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:96)
at com.sun.proxy.$Proxy0.getACrazyProject(Unknown Source)
at com.train.FacadeTest.getCrazyProjectViaService(FacadeTest.java:30)
at com.train.FacadeTest.main(FacadeTest.java:24)
Caused by: javax.ejb.EJBException: No message was received for: '240' seconds
... 5 more
Caused by: weblogic.rjvm.PeerGoneException: No message was received for: '240' seconds
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.train.service.JPAFacadeService_nzxz1s_JPAFacadeServiceImpl_12130_WLStub.getACrazyProject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
... 3 more
...
Рейтинг: 0 / 0
Unable to access TransactionManager
    #39087153
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladmir K,

Похоже что ваш JSF не может достучаться до сервера t3://DevWLServer:7001"
...
Рейтинг: 0 / 0
Unable to access TransactionManager
    #39087197
Vladmir K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПохоже что ваш JSF не может достучаться до сервера t3://DevWLServer:7001"
Может :)) Я б тогда дебагером не смог зайти в метод и посмотреть где он падает.


Нашел солюшн (косвенным гуглированием :):

Оказывается хиберу посвежей, нужно в persistence.xml проперти hibernate.transaction.jta.platform
В моем случае вот так работает:
Код: xml
1.
2.
   <property name="hibernate.transaction.jta.platform"
                value="org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform"/>



Справедливости ради, ошибку бы хибер мог бы формулировать повнятней :)
(Убил почти 3 часа на танцы с бубном...)
Спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Unable to access TransactionManager
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]