CruiseControl не может заставить работать веб-интерфейс - PullRequest
2 голосов
/ 25 февраля 2010

При новой установке CruiseControl при каждом запуске CruiseControl я получаю следующие два исключения:

ontrollerAgent- Exception starting httpAdaptor
java.net.BindException: Address already in use: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)

ontrollerAgent- Exception starting connectorServer
java.io.IOException: Cannot bind to URL [jrmp]: javax.naming.NameAlreadyBoundException: jrmp [Root exception is java.rmi.AlreadyBoundException: jrmp]
        at javax.management.remote.rmi.RMIConnectorServer.newIOException(Unknown Source)

До и после этого, кажется, ничего не происходит (очевидно). И в результате я не могу просматривать веб-панель CruiseControl. Есть идеи, что здесь происходит не так?


Трассировки полного стека:

[cc]Feb-25 16:33:49 ontrollerAgent- Starting HttpAdaptor with CC-Stylesheets
[cc]Feb-25 16:33:49 ontrollerAgent- starting httpAdaptor
[cc]Feb-25 16:33:49 ontrollerAgent- Exception starting httpAdaptor
java.net.BindException: Address already in use: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(Unknown Source)
        at java.net.ServerSocket.bind(Unknown Source)
        at java.net.ServerSocket.<init>(Unknown Source)
        at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket (PlainAdaptorServerSocketFactory.java:24)
        at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
        at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
        at net.sourceforge.cruisecontrol.jmx.CruiseControlControllerAgent.start(CruiseControlControllerAgent.java:172)
        [truncated]

[cc]Feb-25 16:33:49 ontrollerAgent- starting rmiRegistry
[cc]Feb-25 16:33:49 ontrollerAgent- Port 1099 is already in use, so no new rmiRe
gistry is started
[cc]Feb-25 16:33:49 ontrollerAgent- starting connectorServer
[cc]Feb-25 16:33:50 ontrollerAgent- Exception starting connectorServer
java.io.IOException: Cannot bind to URL [jrmp]: javax.naming.NameAlreadyBoundException: jrmp [Root exception is java.rmi.AlreadyBoundException: jrmp]
        at javax.management.remote.rmi.RMIConnectorServer.newIOException(Unknown Source)
        at javax.management.remote.rmi.RMIConnectorServer.start(Unknown Source)
        at net.sourceforge.cruisecontrol.jmx.CruiseControlControllerAgent.start(CruiseControlControllerAgent.java:190)
        at net.sourceforge.cruisecontrol.Main.startJmxAgent(Main.java:137)
        at net.sourceforge.cruisecontrol.Main.start(Main.java:115)
        at net.sourceforge.cruisecontrol.launch.Launcher.run(Launcher.java:259)
        at net.sourceforge.cruisecontrol.launch.Launcher.main(Launcher.java:117)

Caused by: javax.naming.NameAlreadyBoundException: jrmp [Root exception is java.
rmi.AlreadyBoundException: jrmp]
        at com.sun.jndi.rmi.registry.RegistryContext.bind(Unknown Source)
        at com.sun.jndi.rmi.registry.RegistryContext.bind(Unknown Source)
        at javax.naming.InitialContext.bind(Unknown Source)
        at javax.management.remote.rmi.RMIConnectorServer.bind(Unknown Source)
        ... 6 more
Caused by: java.rmi.AlreadyBoundException: jrmp
        at sun.rmi.registry.RegistryImpl.bind(Unknown Source)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        [truncated]
2010-02-25 16:33:50.710::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
2010-02-25 16:33:50.850::INFO:  jetty-6.1.11
2010-02-25 16:33:51.161:/dashboard:INFO:  Initializing Spring root WebApplicationContext

Ответы [ 3 ]

1 голос
/ 25 февраля 2010

Есть ли у вас какая-либо программа на Java, все еще работающая во время запуска CC?

Как показано в этой теме :

Я заметил, что при перезапуске cruisecontrol мне нужно убить все оставшиеся Java-программы, иначе произойдет ошибка класса порта. Решение:

  • Стоп круиз-контроль
  • Убить все оставшиеся cvs и java программы.
  • Подождите 30 секунд.
  • Запустить круиз-контроль.

ОП bguiz добавляет в комментарии свой собственный рецепт:

  • Стоп КруизКонтроль
  • Убить все оставшиеся cvs и java программы.
  • Перезагрузите компьютер,
  • sc удалить CruiseControl,
  • wrapper -i wrapper.conf.
  • Запустить CruiseControl
0 голосов
/ 28 апреля 2011

Если вы используете оболочку службы Windows для запуска CruiseControl, по умолчанию для порта RMI установлено значение 1099. Вы можете изменить этот порт, отредактировав файл wrapper.conf в вашем установочном каталоге CruiseControl. Возможно, вы захотите запустить 'netstat' в командной строке, чтобы увидеть список всех портов, которые ваша система использует в настоящее время. Затем выберите тот, который не конфликтует с любым другим сервером или процессом. Убить все остальные процессы не всегда возможно.

0 голосов
/ 25 февраля 2010

Похоже, на вашем компьютере запущен еще один сервер приложений, который использует те же порты, что и ваш сервер круиз-контроля. Размещаете ли вы круиз-контроль на новом сервере? Какой это сервер?

Попробуйте остановить все серверы на вашем компьютере и попробуйте снова запустить круиз-контроль.

...