forum.bitel.ru
http://forum.bitel.ru/

[5.2] Странная работа принудительного обновления клиента
http://forum.bitel.ru/viewtopic.php?f=22&t=6933
Страница 1 из 2

Автор:  Phricker [ 05 июл 2012, 12:57 ]
Заголовок сообщения:  [5.2] Странная работа принудительного обновления клиента

Собственно после сегодняшнего обновления столкнулся с проблемой что в модуле DialUp не показываются текущие сессии.
Принудительное обновление клиента не помогло.
Изображение
Помогло лишь перекачать новый клиент с сайта. После этого что-то я задумался, а почему же не работает принудительное обновление клиента.

Вернул старый клиент. После принудительного обновления клиента, удалил все файлы в папке lib и запустил биллинг.
Все заработало и все стало показываться.

Обнаружилось что проблема в ./lib/call.jar
Если он присутствует в клиенте - активные сессии не показываются.

Стоит удалить - и все работает.

Может как-то стоит сделать механизм проверки удаленных файлов на сервере?
Или механизм проверки того, что произошло принудительное обновление клиента и нужно очистить папку lib при запуске?

Мне сейчас придется обзвонить over 50 человек представителей чтобы предупредить об этом косяке.
Не находите это несерьезным?

Автор:  Phricker [ 05 июл 2012, 14:02 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Я знаю ответ админов.
call.jar уже не используется офигеть сколько времени. где вы взяли такой клиент. ©

Отвечаю:
Пока нет проблем с клиентом - я не качаю новый. А при ошибках - делаю принудительное обновление.

Автор:  dimOn [ 05 июл 2012, 16:34 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

да, это немного странно…

Автор:  stark [ 05 июл 2012, 17:33 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Так вот где собака зарыта

Так я посмотрело историю. В самом первом клиенте, который мы собрали для 5.2 уже не было call.jar . А в инструкции по обновлению с более младшей версии(с5.1 ) написано что нужно качать новый клиент с сайта(никаких принудительных) . Как так получилось ? Мы не удалили эту библиотеку в после появления 5.2, мы ее удалили до.

Автор:  skn [ 05 июл 2012, 18:24 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

как вариант решения таких проблем можем порекомендовать использовать для запуска клиента технологию "Java Web Start"
для этого нужно:
1. создать на сервере папку BGBillingServer/webroot/client
2. создать в папке файл bgclient.jnlp со следующим содержимым:
Код:
<?xml version="1.0" encoding="utf-8"?>
<jnlp
        spec="1.0+"
        codebase="http://HOST:PORT/bgbilling/client"
        href="bgclient.jnlp" >
    <information>
        <title>BGBilling GUI client</title>
        <vendor>BiTel, Ltd.</vendor>
        <description>BGBilling GUI client</description>                                                                         
    </information>                                                                                                               
    <resources>
        <j2se version="1.6+"/>
        <jar href="client.jar" main="true"/>
    </resources>
    <security><all-permissions/></security>
    <application-desc main-class="bitel.billing.ShellFrame" />
</jnlp>

3. заменить в файле HOST:PORT
4. сгенерировать ключ для подписи client.jar. Для этого из каталога BGBillingServer запустить команду
Код:
[root@billing ~]# /opt/java/jdk/bin/keytool -genkeypair -alias bgbilling -validity 3650 -keystore .keystore
Enter keystore password: 
Re-enter new password:
What is your first and last name?
  [Unknown]:  USER
What is the name of your organizational unit?
  [Unknown]:  OFFICE
What is the name of your organization?
  [Unknown]:  BITEL, Ltd.
What is the name of your City or Locality?
  [Unknown]:  UFA
What is the name of your State or Province?
  [Unknown]:  BASHKORTOSTAN
What is the two-letter country code for this unit?
  [Unknown]:  RU
Is CN=USER, OU=OFFICE, O="BITEL, Ltd.", L=UFA, ST=BASHKORTOSTAN, C=RU correct?
  [no]:  yes

Enter key password for <bgbilling>
   (RETURN if same as keystore password): 
[root@billing ~]#

5. создать в папке BGBillingServer файл - bgclient_javawebstart.sh со следующим содержимым:
Код:
#!/bin/bash
/opt/java/jdk/bin/java -jar bgclient_javawebstart.jar
/opt/java/jdk/bin/jarsigner -keystore .keystore -storepass PASSWORD client.jar bgbilling
/bin/mv -f client.jar webroot/client/client.jar

Заменить PASSWORD на пароль использованный при генерации ключа на предыдущем шаге
6. положить в папку BGBillingServer файл bgclient_javawebstart.jar (http://bgbilling.ru/bgclient_javawebstart.jar)
7. запустить bgclient_javawebstart.sh в результате работы которого в каталоге BGBillingServer/webroot/client должен появиться файл client.jar
8. попробовать запустить клиент, набрав в браузере http://HOST:PORT/bgbilling/client/bgclient.jnlp
9. добавить в конец скрипта update.sh вызов скрипта bgclient_javawebstart.sh для автоматической генерации нового файла client.jar после обновления.

Автор:  stark [ 06 июл 2012, 12:01 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

skyb писал(а):
А как клиент будет выглядеть? web морда? или как? =)



обычный клиент , url набрали в браузере, он раз и всплыл .

Автор:  skn [ 07 июл 2012, 00:14 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

skyb писал(а):
dimOn писал(а):
ничо не должен лежать, где тут про это написано? куда уж подробнее?)

так как ненаписано и спрашиваю, понял как работать должен, кул, заценю на днях=)


Что такое Java Web Start?
Программное обеспечение Java Web Start позволяет загружать и запускать приложения Java из Интернета. Программное обеспечение Java Web Start:

Позволяет активировать приложения одним щелчком мыши
Обеспечивает использование новейших версий приложений
Устраняет необходимость проведения сложных процедур установки и обновления

Как получить программное обеспечение Java Web Start:

Java Web Start входит в состав исполнимой среды Java (JRE) с момента выпуска версии Java 5.0. Это означает, что при установке Java автоматически устанавливается Java Web Start. При первой загрузке приложения Java, поддерживающего технологию Java Web Start, программное обеспечение Java Web Start запускается автоматически. Java Web Start полностью размещает загруженное приложение в локальном кэше вашего компьютера. Таким образом, приложение будет запускаться почти мгновенно, поскольку все необходимые для этого ресурсы доступны на локальном компьютере. При каждом запуске приложения Java Web Start проверяет наличие новой версии на сайте, и если таковая имеется, автоматически загружает и запускает ее.

Продолжение читать тут: http://www.java.com/ru/download/faq/java_webstart.xml

Автор:  skn [ 06 сен 2012, 19:58 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

bgclient_javawebstart.sh должен находиться и запускаться из папки в которую установлен сервер биллинга, папка lib, это папка из какталога с биллинговым сервером.

Автор:  Cromeshnic [ 25 сен 2012, 12:16 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Круто, работает!
Для полного счастья хорошо бы, чтоб при первом запуске в окне логина клиента сразу подставлялся урл рабочего биллинга.
Как можно такое сделать?

Автор:  Phricker [ 25 сен 2012, 12:35 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Кстати да. Было бы очень удобно, чтобы сразу заводился URL базы к которой подключаться.

Автор:  skn [ 25 сен 2012, 13:28 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Phricker писал(а):
Кстати да. Было бы очень удобно, чтобы сразу заводился URL базы к которой подключаться.


в последних билдах добавлена возможность задавать URL в файле bgclient.jnlp

Код:
<resources>                                                                                                                                               
        <j2se version="1.6+"/>                                                                                                                                 
        <jar href="client.jar" main="true"/>                                                                                                                   
        <property name="db.server.0.title" value="bitel"/>                                                                                                     
        <property name="db.server.0.url" value="http://billing.local/bgbilling/executer"/>                                                                     
        <property name="db.server.0.proxy.host" value=""/>                                                                                                     
        <property name="db.server.0.proxy.port" value=""/>                                                                                                     
        <property name="look.and.feel.default" value="javax.swing.plaf.metal.MetalLookAndFeel"/>                                                               
        <property name="look.and.feel.default.theme" value=""/>                                                                                               
    </resources>

Автор:  Cromeshnic [ 25 сен 2012, 18:09 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Отлично!

Ещё вопрос: скрипт создания файла client.jar выдаёт такое:


Код:
name = trayinfo

trayinfo.jar
META-INF/
META-INF/MANIFEST.MF
bitel/
bitel/billing/
name = voice

voice.jar
META-INF/
META-INF/MANIFEST.MF
bitel/
bitel/billing/
bitel/billing/module/
bitel/billing/module/services/

call.jar
META-INF/
META-INF/MANIFEST.MF
bitel/
bitel/billing/
bitel/billing/module/
bitel/billing/module/services/


call.jar !!!

Удалил call.jar на сервере, теперь через WebStart, если поставить галку "загружать обновления ...", он обновляется => рестарт -> то же самое.

Автор:  Phricker [ 25 сен 2012, 18:18 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

А после удаления call.jar файл client.jar скриптом пересоздали? без ошибок?

Автор:  skn [ 25 сен 2012, 18:31 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

client.jar создается скриптом по данным которые храняться в БД, видимо в том числе в БД лежит и call.jar
хорошо бы проверить и если есть удалить его оттуда.
таблица installed_modules столбец client_zip

Автор:  Cromeshnic [ 25 сен 2012, 18:41 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Ну так судя по логам, в trayinfo и лежит. Я думал, это автоматически должно поправляться, при обновлении.
Мб вам просто выкатить новый служебный билд trayinfo?

Автор:  dimOn [ 25 сен 2012, 18:52 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

ну так voice это модуль которого уже очень и очень давно нет, просто его zip залип в базе

Автор:  skn [ 25 сен 2012, 19:39 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Cromeshnic писал(а):
Ну так судя по логам, в trayinfo и лежит. Я думал, это автоматически должно поправляться, при обновлении.
Мб вам просто выкатить новый служебный билд trayinfo?


судя по логу в
Код:
name = voice

Автор:  Cromeshnic [ 26 сен 2012, 05:36 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

ой, да, не увидел

Автор:  Cromeshnic [ 26 сен 2012, 07:04 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Удалил строчку из installed_modules - заработало, спасибо.

Цитата:
в последних билдах добавлена возможность задавать URL в файле bgclient.jnlp


Тут пока не работает:

Код:
 Клиент: вер. 5.2 сборка 1034 от 14.09.2012 13:59:55
    os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_29
  Сервер: вер. 5.2 сборка 1292 от 17.09.2012 16:56:35
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_22

Автор:  Phricker [ 26 сен 2012, 11:22 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Тут работает.
Код:
  Клиент: вер. 5.2 сборка 1040 от 25.09.2012 17:46:04
    os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_30
  Сервер: вер. 5.2 сборка 1297 от 25.09.2012 17:46:12
    os: Linux; java: Java HotSpot(TM) Client VM, v.1.6.0_31

Правда я так понял необходимо удалять файл config находящийся c:\Users\Администратор\.bgbilling\

И поэтому сразу же вопрос. Есть ли возможность так же указывать конфигурационный файл для данного метода?
Аналог -Dlocal.setting.file.name=config_test в bgbilling_w2k.bat


UPD: Необходимо было просто перекачать bgclient а не удалять конфиг.

Автор:  Phricker [ 07 дек 2012, 13:16 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Phricker писал(а):
Есть ли возможность так же указывать конфигурационный файл для данного метода?
Аналог -Dlocal.setting.file.name=config_test в bgbilling_w2k.bat

может быть добавить данный способ запуска клиента в доку?
Куда-нибудь в "Установка и первый запуск клиента биллинга"
Тем более в свежем сервере папка ./webroot/client уже есть. значит и задумка осталась :)

Автор:  Cromeshnic [ 07 дек 2012, 14:00 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

У меня на тестовом такой конфиг - задал ограничения по памяти, конфиг (хотя он не используется через webstart вроде) и сменил тему оформления, чтобы не путать с рабочим биллингом.

Код:
<?xml version="1.0" encoding="utf-8"?>
<jnlp
        spec="1.0+"
        codebase="http://192.168.1.100:8080/bgbilling/client"
        href="bgclient.jnlp" >
    <information>
        <title>BGBilling GUI client</title>
        <vendor>BiTel, Ltd.</vendor>
        <description>BGBilling GUI client</description>
    </information>
    <resources>
        <j2se version="1.6+" java-vm-args="-Xmx256m -Dlocal.setting.file.name=config_test"/>
        <jar href="client.jar" main="true"/>
        <property name="db.server.0.title" value="BGBilling - test"/>
        <property name="db.server.0.url" value="http://192.168.1.100:8080/bgbilling/executer"/>
        <property name="db.server.0.proxy.host" value=""/>
        <property name="db.server.0.proxy.port" value=""/>
        <property name="look.and.feel.default" value="javax.swing.plaf.metal.MetalLookAndFeel"/>
        <property name="look.and.feel.default.theme" value="OceanTheme"/>
    </resources>
    <security><all-permissions/></security>
    <application-desc main-class="bitel.billing.ShellFrame" />
</jnlp>

Автор:  Phricker [ 13 май 2013, 15:01 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Есть еще одна проблема, которая сказывается в винде
Если в IE включен автономный режим, при запуске jnlp выдает ошибку
Код:
CouldNotLoadArgumentException[ Could not load file/URL specified: http://url:port/bgbilling/client/bgclient.jnlp]

Помогает отключение автономного режима :)

Автор:  skn [ 13 май 2013, 15:25 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Phricker писал(а):
Есть еще одна проблема, которая сказывается в винде
Если в IE включен автономный режим, при запуске jnlp выдает ошибку
Код:
CouldNotLoadArgumentException[ Could not load file/URL specified: http://url:port/bgbilling/client/bgclient.jnlp]

Помогает отключение автономного режима :)


сделайте ярлык на рабочем столе и запускайте без браузера
java/bin/jcontrol закладка General => Temporary Internet Files => View => выбрать приложение и кликнуть по иконке Создать ярлык

Автор:  Phricker [ 13 май 2013, 15:43 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

а в этом случае ругается как
Изображение

Указал <offline-allowed/> в jnlp файле.
Правда все равно пришлось один раз указать в IE, что не автономный режим, чтобы скачалось обновление.
После этого все работает даже если указан автономный режим.

В вашем примере у меня вылезла ошибка на то, что при создании ярлыка указанным вами способом он создается на
C:\Windows\System32\javaws.exe -localfile "C:\Users\Администратор\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\11\6a394f8b-52db8b3d"
где то, что выделено жирным меняется при каждом обновлении вроде как.
По крайней мере у меня выдало ошибку :) Дальше не стал париться сделал как я уже сказал доступным оффлайн, чтобы сам клиент мог запуститься.

Автор:  skn [ 13 май 2013, 17:48 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

не понял а зачем автономный режим включается....
при этом что, сеть блокируется или только инетовская сеть, а локальная работает?

Автор:  Phricker [ 13 май 2013, 18:04 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

А кто его знает :) я не пользуюсь IE.
ЕМНИМС, если при отключенном инете попробовать зайти на какой-либо сайт - автономный режим сам включается.

Автор:  skn [ 13 май 2013, 18:24 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

а при отключенном инете сервер биллинга я так понимаю тоже не доступен?
т.е. проблема не только в запуске клиента?

Автор:  Phricker [ 13 май 2013, 18:37 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

Эммм... Вы спросили откуда там автономный режим в IE.
Я ответил.

Интернет есть.
При этом в IE включен автономный режим
Изображение
Если не указать в jnlp файле <offline-allowed/>, то при выполнении команды
Код:
javaws http://url:port/bgbilling/client/bgclient.jnlp
выдаст ошибку
Код:
CouldNotLoadArgumentException[ Could not load file/URL specified: http://url:port/bgbilling/client/bgclient.jnlp]

И да. Без инета этот файл недоступен.

Я не знаю как это взаимосвязано, но так есть.

Автор:  skn [ 13 май 2013, 18:52 ]
Заголовок сообщения:  Re: [5.2] Странная работа принудительного обновления клиента

ну меня в общем то немного другой вопрос интересовал
если клиент биллинга запущен и в IE включен режим offline, то связь с биллингом есть или нет.

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/