powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос про JNI
15 сообщений из 15, страница 1 из 1
Вопрос про JNI
    #34650337
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет All.
Написал на java вызов сишной функции из DLL. Если запустить вызов из консоли (java My.class) Все работает на ура. Решил прикрутить к WebSphere Завернул все в jar.
В ответ получил в логах WS след ошибку:
java.lang.UnsatisfiedLinkError: gethash

где gethash это метод класса с вызовом функции из DLL
По всей видимости загрузка библиотеки проходит нормально, почемуто не проходит вызов метода, хотя при отладки вызов работал на ура.
Может кто подскажет куда глянуть?
Сам класс
public class getstringhash {
private native String gethash(String str);
static {
System.loadLibrary("jcommon");
}
public String getHashStr(String str) {
return gethash(str);
}
}
И вызов
public String GetUserHash(String userName, String password) throws SQLException {
getstringhash hash = new getstringhash();
return hash.getHashStr("Строка");
}
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34650895
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel333Привет All.
Написал на java вызов сишной функции из DLL. Если запустить вызов из консоли (java My.class) Все работает на ура. Решил прикрутить к WebSphere Завернул все в jar.

Проблемма в том что WebSphere использует загрузчик клсассов у Sun была статья на эту тему. Как вывод или ты долже ложить свой класс в WebSphere или не использовать JNI
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34650938
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://rsdn.ru/Forum/?mid=2561870
А у WAS прописал java.libarary.path?
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34650973
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да прописан. Библиотека лежит в C:\WINNT\system32

Вот лог WS
Host Operating System is Windows 2000, version 5.0
Java version = J2RE 1.4.2 IBM Windows 32 build cn142sr1w-20041028 (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM
was.install.root = C:\IBM\WebSphere\AppServer
user.install.root = C:\IBM\WebSphere\AppServer/profiles/AppSrv01
Java Home = C:\IBM\WebSphere\AppServer\java\jre
ws.ext.dirs = C:\IBM\WebSphere\AppServer\java\lib;C:\IBM\WebSphere\AppServer\classes;C:\IBM\WebSphere\AppServer\lib;C:\IBM\WebSphere\AppServer\installedChannels;C:\IBM\WebSphere\AppServer\lib\ext;C:\IBM\WebSphere\AppServer\web\help;C:\IBM\WebSphere\AppServer\deploytool\itp\plugins\com.ibm.etools.ejbdeploy\runtime
Classpath = C:\IBM\WebSphere\AppServer/profiles/AppSrv01\properties;C:\IBM\WebSphere\AppServer\properties;C:\IBM\WebSphere\AppServer\lib\bootstrap.jar;C:\IBM\WebSphere\AppServer\lib\j2ee.jar;C:\IBM\WebSphere\AppServer\lib\lmproxy.jar;C:\IBM\WebSphere\AppServer\lib\urlprotocols.jar
Java Library path = C:\IBM\WebSphere\AppServer\java\bin;.;C:\WINNT\system32;C:\WINNT;C:\IBM\WebSphere\AppServer\bin;C:\IBM\WebSphere\AppServer\java\bin;C:\IBM\WebSphere\AppServer\java\jre\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
Current trace specification = *=info
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34650988
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений. А можно по подробний, или хотябы ссылку на статью.
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651017
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че там искать
JNI and classloader >
JNI Enhancements Introduced in version 1.2 of the JavaTM 2 SDK

авторIn the Java 2 SDK, each class loader manages its own set of native libraries. The same JNI native library cannot be loaded into more than one class loader . Doing so causes UnsatisfiedLinkError to be thrown. For example, System.loadLibrary throws an UnsatisfiedLinkError when used to load a native library into two class loaders
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651105
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, спасибо за сылки.
Итак насколько я понял необходимо излавчится чтобы использовать только один класс, так?
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651227
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel333Blazkowicz, спасибо за сылки.
Итак насколько я понял необходимо излавчится чтобы использовать только один класс, так?
Нет конечно. Нужно подложить свой класс в classpath с которым стартует WAS.
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651330
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоесть положить свой jar в jre\lib\ext насколько я помню все что там лежит автом попадает classpath?
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651369
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Tue, 10 Jul 07 15:07:33 GMT
"Pavel333" <nospam@sql.ru>; записано:

> Автор: Pavel333
> Тоесть положить свой jar в jre\lib\ext насколько я помню все что там
> лежит автом попадает classpath? Тема Ответить Сообщение
>
туда ниче ложить не стоит
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651430
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel333Тоесть положить свой jar в jre\lib\ext насколько я помню все что там лежит автом попадает classpath?
http://www.jguru.com/faq/view.jsp?EID=463927
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34651472
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но я всегда туда и подкладывал свой jar в X:\WebSphere\AppServer\lib, результат см выше.
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34652060
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так и немогу никак решить проблему. Выеснил что ошибка возникает при вызове метода который из DLL, при этом библиотека загружается в память. Может есть кикиенибуть предложения?
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34652929
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. полный стек трейс
2. сравни classloader для своего класса и какого нибудь WAS'овского
3. выведи урл до файла из которого загрузился твой класс.
...
Рейтинг: 0 / 0
Вопрос про JNI
    #34653814
Pavel333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Ларчик просто открывался, тестировал я клас без пакета, а когда выкладывал на WS завернул в пакет, поэтому в С-шной функции нужно было прописать пакет. Прописал и все заработало.
Век живи, век учись :))
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос про JNI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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