powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / адская проблема "[CachedConnectionManager] Closing a connection for you"
16 сообщений из 41, страница 2 из 2
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995195
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTkЭто то что вам нужно.
пока не вижу сильных отличий от моего варианта, кроме как "new Work(". Но всё равно спасибо, попробую!
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995196
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczViktorWM <jta-data-source>java:/medoKDatasource</jta-data-source>

Оппа. Вот и имечко для @Resource

"ах вот ты какой, северный олень"(с). Огромное спасибо, теперь я просвещен! Буду пробывать.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995253
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTkЭто то что вам нужно.
пока я даже не знаю где его найти и как юзать этот самый Work API....
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995303
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz Оппа. Вот и имечко для @Resource

Код: javascript
1.
import javax.sql.DataSource;




так не работает, падает на строчке:

Код: javascript
1.
conn = defaultDS.getConnection();



Сaused by: java.lang.NullPointerException
11:48:45,804 ERROR [STDERR] ionInterceptor.java:97)


P.S. я правда беру CallableStatement cs а не PreparedStatement stmt как в примере этого тынца, но думаю это в данном случае не причина...
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995324
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViktorWM
Код: javascript
1.
import javax.sql.DataSource;



так не работает, падает на строчке:

Код: javascript
1.
conn = defaultDS.getConnection();




У вас каша в голове. import это директива для компилятора для того чтобы использовать тот или иной класс при компиляции.
К NullPointerException он никакого отношения не имеет. NullPointerException связан с тем что значение переменной defaultDS null.
Либо JNDI имя надо указать иначе. Либо контейнер вообще ваш клас не обрабатывает и Resource не инжектит.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995547
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczViktorWM
Код: javascript
1.
import javax.sql.DataSource;



так не работает, падает на строчке:

Код: javascript
1.
conn = defaultDS.getConnection();




У вас каша в голове. import это директива для компилятора для того чтобы использовать тот или иной класс при компиляции.
К NullPointerException он никакого отношения не имеет. NullPointerException связан с тем что значение переменной defaultDS null.
Либо JNDI имя надо указать иначе. Либо контейнер вообще ваш клас не обрабатывает и Resource не инжектит.
Import я здесь привел только чтоб показать вам из какого источника взят DATASOURCE. А как нужно указать имя JNDI ? И как прверить инжектит ли класс Ressource? И если нет то почему?
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995581
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViktorWMImport я здесь привел только чтоб показать вам из какого источника взят DATASOURCE.

Мне, как и многим другим очевидно, что речь про javax.sql.DataSource. Если вам говорят про DataSource в контексте Java, то подразумевает именно его.

ViktorWMА как нужно указать имя JNDI ?
Я не знаком в деталях с Seam, возможно инъекции в компанентах вообще не работают? EntityManager вы как получаете?

ViktorWMИ как прверить инжектит ли класс Ressource? И если нет то почему?
Контейнер "инжектит" значение в объект. Если имя в @Resource не указано, то он, скорее всего использует имя поля. Если имя указано в аннотации, то делает JNDI Lookup. У вас пока вообще не очень понятно. С одной стороны JNDI DataSource явно указан в PU, с другой стороны вы говорите что все настройки (Driver Class, Connection String) в hibernate-console.properties.

Какой-то из этих двоих явно лишний.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995582
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсли имя в @Resource не указано, то он, скорее всего использует имя поля. Если имя указано в аннотации, то делает JNDI Lookup.
Криво сформулировал. Процессы одинаковые похожи на JNDI Lookup. Просто имя по разному получается. Либо явно из Resource. Либо не явно из поля.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995883
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ниче мне пока не понятно про эти "явно/не явно", увы .... (( а можно как то вывести (в stdio) что он там проинжектил , для теста?
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995905
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViktorWMНиче мне пока не понятно про эти "явно/не явно", увы .... (( а можно как то вывести (в stdio) что он там проинжектил , для теста?
Мда, IoC на аннотациях для новичков полон загадок. Может сделать обычный JNDI Lookup по старинке?

Код: java
1.
2.
3.
4.
5.
Context ctx = new InitialContext();
DataSource ds = 
            (DataSource)ctx.lookup(
               "java:/medoKDatasource");
Connection conn = ds.getConnection();
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995924
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

+1

Насколько я знаю что в Seam Component просто нельзя проинжектить DataSource, нужно брать из IntialContext. А вот если бы это была смесь Seam+EJB то сработало бы
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995929
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViktorWMНиче мне пока не понятно про эти "явно/не явно", увы .... (( а можно как то вывести (в stdio) что он там проинжектил , для теста?
Вы бы чаще на вопросы отвечали, вам бы проще было помочь. Вы же коментируете мои объяснения вместо этого.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37995936
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTkНасколько я знаю что в Seam Component просто нельзя проинжектить DataSource, нужно брать из IntialContext. А вот если бы это была смесь Seam+EJB то сработало бы
Странно, я думал он весь на EJB работает.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37996003
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Не, эта штука позволяет из EJB просто делать Seam компоненты, но сама легко без них живёт.
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37996632
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczViktorWMНиче мне пока не понятно про эти "явно/не явно", увы .... (( а можно как то вывести (в stdio) что он там проинжектил , для теста?
Мда, IoC на аннотациях для новичков полон загадок. Может сделать обычный JNDI Lookup по старинке?

Код: java
1.
2.
3.
4.
5.
Context ctx = new InitialContext();
DataSource ds = 
            (DataSource)ctx.lookup(
               "java:/medoKDatasource");
Connection conn = ds.getConnection();



Огромное Вам спасибо! Так работает! Свой вариант я сделал в виде функции в одном из центральных классов, и везде её теперь инжектоваю и успешно юзаю!

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    ...
    
     public Connection GetDbConnection() {
       DataSource ds;
	  try {
 		try {
		  InitialContext initialContext = new InitialContext();   
		  InitialContext ctx = initialContext;
		  ds = (DataSource)ctx.lookup( "java:/medoKDatasource" );  
		} catch ( NamingException ne) {
		  System.out.println( "in CATCH -> NamingException!" );
		  throw new RuntimeException(ne);
		}
		return ds.getConnection();  
	  } catch (SQLException e) {
		System.out.println( "in CATCH -> GetDbConnection()!" );
		throw new RuntimeException(e);
	  }
    }


авторВы бы чаще на вопросы отвечали, вам бы проще было помочь. Вы же коментируете мои объяснения вместо этого.
Вы правы, но было мало времени из-за основной работы! (ява - это у меня так, хобби) ;-)

Ещё раз всем спасибо за участие в проблеме!!!
...
Рейтинг: 0 / 0
адская проблема "[CachedConnectionManager] Closing a connection for you"
    #37996635
ViktorWM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
естественно, везде по месту юзания закрываю коннекшн ручками - гарантированно (в finally):

Код: javascript
1.
conn.close();
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / адская проблема "[CachedConnectionManager] Closing a connection for you"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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