2015-04-13 2 views
0

Попытка запустить сервер Oracle Coherence в режиме разработки, и я получаю:SocketException при запуске Oracle Coherence

2015-04-09 09:56:28.319/1.508 Oracle Coherence GE 12.1.3.0.0 <D4>(thread=main,member=n/a): TCMP bound to /xx.xx.49.22:8088 using SystemDatagramSocketProvider 

Exception in thread "main" 2015-04-09 09:56:28.356/1.545 Oracle Coherence GE 12.1.3.0.0 <Error> (thread=main, member=n/a): Error while starting cluster 
(Wrapped) java.net.SocketException: An invalid argument was supplied 
    at com.tangosol.util.Base.ensureRuntimeException(Base.java:289) 
    ... 
    at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:355) 

Caused by: java.net.SocketException: An invalid argument was supplied 
    at java.net.TwoStacksPlainDatagramSocketImpl.socketNativeSetOption(Native Method) 
    ... 
    at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:37) 

Новое на Java и новые для Согласованность. Таким образом, исключение сокета означает, что возникла ошибка при создании или подключении к сокету. Я предполагаю, что в этом случае проблема заключается в создании сокета? Каковы некоторые из вещей, которые я должен искать?

EDIT: После дополнительных исследований я продолжаю видеть IPv4 против IPv6. Кажется, что TwoStacksPlainDatagramSocketImpl добавляет поддержку IPv6. В настоящее время я просматриваю локальные настройки IP.

EDIT2: Благодаря biziclop для предоставления довольно очевидного (через Google) решения. Оказывается, когда IPv6 отключен в вашей сети, в последней версии Java есть ошибка, которая генерирует исключение SocketException.

Это может быть решена с помощью: -Djava.net.preferIPv4Stack = истина

ответ

3

Первый порт захода, как всегда Google.

Это приводит к JDK bug, который, как представляется, является дубликатом another bug, который, как мы надеемся, будет отвечать на вашу конкретную проблему.

+0

Thank you biziclop! Это сработало. Хороший урок: никогда не сомневайтесь в своем первоначальном решении. –

Смежные вопросы