|
|
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Извините, не понял, про что Вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 11:11 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
MaxLichBlazkowicz, Извините, не понял, про что Вы. Вот такой код вы напишете у себя https://docs.oracle.com/javase/tutorial/jmx/remote/custom.html На сколько я понимаю Performing Operations on Remote MBeans ObjectName, адрес, порт, логин и пароль вам нужно взять из настроек и документации к вашей версии ActiveMQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 11:27 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
MaxLichмониторинг мне не нужен, мне нужно управление.Документацию не пробовали читать? А там не только про мониторинг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 12:07 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Просмтривал. Что-то не нашёл, где управлять службой =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 12:19 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
MaxLichПросмтривал. Что-то не нашёл, где управлять службой =( Вам шашечки или ехать? Вам обязательно службу перестартовать или достаточно ActiveMQ брокер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 12:38 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну он запущен в качестве службы, соответственно, нужно перезапускать службу. Или я чего-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 13:26 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
MaxLichну он запущен в качестве службы, соответственно, нужно перезапускать службу. Или я чего-то не понимаю? Наверное, не понимаете, что если брокеру сказать "перезепусти себя", то можно добится аналогичного результата. Служба это всего лишь обертка над java процессом. Не важно перезапустите ли вы службу или java процесс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 13:44 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Хм, и какие тогда у меня есть варианты? Какие способы достижения моей цели? А то сколько разной малознакомой информации, уже голова кругом идёт..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 14:24 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Проблема: зависает java-приложение, запущенное сервисом. 1. Приложение - Apache ActiveMQ. Идём на сайт, читаем доку, понимаем, что используется Tanuki-wrapper - древняя версия, которую рекомендуется обновить. Идём на сайт Тануки, читаем. Видим три редакции, смотрим ограничения бесплатного варианта (Community). Оп-па - не поддерживается 64-разрядная винда. В топку. Гуглим и находим procrun среди Apache Commons. Читаем доку, готовим запуск сервиса "в новой обёртке". 2. Наверное, брокер виснет не просто так, а с какими-то симптомами. Читаем доку на предмет мониторинга, попутно обнаруживаем разные варианты консолей и, в том числе, возможность перезапуска брокера. Понимаем, что перезапуск службы не очень-то и нужен. Продолжаем читать настройку логирования, ревизируем параметры JVM, в которой работает брокер, думаем. Собираем всё заготовленное в кучу, запускаем новый вариант сервиса и начинаем смотреть на его работу. Вот ни разу не космические технологии - всё доступно сисадмину средней руки, тестировщику и, наверное, специалисту техподдержки "от второй линии". P.S. Отсутствие ссылок на сайты и разделы документации - не упущение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 15:37 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Правда, если оно с OOME умирает, наверное лучше таки службу перезапускать. А то JMX может и не ответить вовсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 15:53 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Правда, если оно с OOME умирает, наверное лучше таки службу перезапускать.Насколько я помню, у procrun есть проблема: когда JVM падает с нулевым кодом выхода - служба будет остановлена без перезапуска. Такого, чтобы процесс упал, а обёртка продолжала работу, вроде, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:11 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
В любом случае, только что (ноябрь 2017) вышел Commons Daemon 1.1.0 где, судя по трекеру, обеспечена совместимость с Java9 и, вероятно, другие ошибки поправлены. Что до OOM ... Использовать сервис в 32-разрядной JVM на 64-разрядной винде без веских причин - себя не уважать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:17 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Так JVM может не упасть а уйти в FullGC навсегда. Или ещё в какой бесконечный цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:23 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovТакого, чтобы процесс упал, а обёртка продолжала работу, вроде, нет.Точнее - такого не может быть при нормальном варианте запуска: procrun.exe это java.exe, который умеет работать сервисом. Плюс-минус некоторые фичи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:24 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТак JVM может не упасть а уйти в FullGC навсегда. Или ещё в какой бесконечный цикл.Может, наверное. Но ведь для таких случаев и существуют и "настройка логирования" и "ревизия параметров JVM"? Ну то есть, обнаружив подобные аномалии мы должны исключить их, а паллиативы применять исключительно внешним образом - не впечатывая в код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:27 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТак JVM может не упасть а уйти в FullGC навсегда. JDK-6330863 помечен как решённый 2012-03-24 и там же есть обходные варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:33 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Вот что в логах ПО, которое использует ActiveMQ: авторjavax.jms.JMSException: Could not connect to broker URL: tcp://172.26.11.4:61616. Reason: java.lang.IllegalStateException: Timer already cancelled. По первому пункту: у меня 64-битная винда, и activemq нормально работает. На сервере (где стоит наше рабочее ПО) возможно стоит 32-битная ОС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:46 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Нашел в примерх к ActiveMQ такой код: Код: java 1. 2. 3. 4. Но он у меня с ошибкой вываливается при добавлении коннектора: авторjava.io.IOException: Failed to bind to server socket: tcp://localhost:61616 due to: java.net.BindException: Address already in use: JVM_Bind at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:34) at org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:144) at org.apache.activemq.transport.tcp.TcpTransportFactory.doBind(TcpTransportFactory.java:62) at org.apache.activemq.transport.TransportFactorySupport.bind(TransportFactorySupport.java:40) at org.apache.activemq.broker.BrokerService.createTransportConnector(BrokerService.java:2520) at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:339) at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:329) at maxlich.app.MessageBrokerManager.<init>(MessageBrokerManager.java:18) at maxlich.app.MessageBrokerManager.instance(MessageBrokerManager.java:27) at maxlich.app.View.lambda$createMainPanel$0(View.java:46) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2237) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2295) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467) at java.awt.Container.dispatchEventImpl(Container.java:2281) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: java.net.BindException: Address already in use: JVM_Bind at java.net.DualStackPlainSocketImpl.bind0(Native Method) at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) at java.net.ServerSocket.bind(ServerSocket.java:375) at java.net.ServerSocket.<init>(ServerSocket.java:237) at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231) at org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:141) ... 44 more ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:55 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВ любом случае, только что (ноябрь 2017) вышел Commons Daemon 1.1.0 где, судя по трекеру, обеспечена совместимость с Java9 и, вероятно, другие ошибки поправлены. Что до OOM ... Использовать сервис в 32-разрядной JVM на 64-разрядной винде без веских причин - себя не уважать. да, кстати, у меня 32-битная jdk. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 17:00 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
MaxLichНашел в примерх к ActiveMQ такой код: Но он у меня с ошибкой вываливается при добавлении коннектора: Вижу код - запускаю не думая. Что именно вы этим кодом хотели добиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 18:40 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
MaxLichВот что в логах ПО, которое использует ActiveMQ: Код: plaintext 1. Вероятно, за отведённое время не удалось достучаться до никому (кроме вас) неизвестного 172.26.11.4. Вероятно, что и эту ситуацию можно как-то разрулить настройками ActiveMQ.По первому пункту: у меня 64-битная винда, и activemq нормально работает.1. 64-разрядная винда и 64-разрядная JVM - разные вещи. Community редакция Tanuki-wrapper не работает с 64-разрядной JVM. 2. ActiveMQ может работать и как приложение и как сервис.На сервере (где стоит наше рабочее ПО) возможно стоит 32-битная ОС.Последние Windows Server с 32-разрядными вариантами - 2003 и 2008. Оба уже сняты с поддержки. Начиная с Windows Server 2008 R2 (вышел вместе с семёркой в 2009 году) существуют только 64-разрядные серверные винды. В любом случае, нет смысла использовать 32-разрядные винды, если на хосте хотя бы два гигабайта оперативки, а операционная система - новее Windows Server 2003. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 20:55 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
А что ТС-у нужно от Windows? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 22:32 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
maytonА что ТС-у нужно от Windows?Типа, под линуксом ActiveMQ не глючит, даже если её кривыми руками развернуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 22:38 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
maytonА что ТС-у нужно от Windows? Чтобы UAC сидел ровно на попе и не возникал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 22:44 |
|
||
|
Как перезапустить windows-службу из программы на java?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧтобы UAC сидел ровно на попе и не возникал.С этим-то вообще никаких проблем - запустили "от администратора" то приложение, в котором костыляется перезапуск службы и UAC больше не пикает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 22:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39577157&tid=2122368]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
151ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 270ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...