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

Тестовый проект для 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
26.10.2015, 16:02
    #39087077
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to access TransactionManager
Есть идея:
@TransactionAttribute(TransactionAttributeType.NEVER)
...
Рейтинг: 0 / 0
26.10.2015, 16:05
    #39087083
Vladmir K
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to access TransactionManager
я ее поставил в надежде исключить Транзакцию вообще. Без @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
26.10.2015, 16:45
    #39087153
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to access TransactionManager
Vladmir K,

Похоже что ваш JSF не может достучаться до сервера t3://DevWLServer:7001"
...
Рейтинг: 0 / 0
26.10.2015, 17:10
    #39087197
Vladmir K
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to access TransactionManager
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
Форумы / Java [игнор отключен] [закрыт для гостей] / Unable to access TransactionManager / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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