Что может помешать запуску автономного сервера Coherence? - PullRequest
3 голосов
/ 24 февраля 2012

Я создал домен WLS 10.3.6. Я запустил Node Manager. Я определил сервер Coherence, который НЕ является частью кластера, используя консоль WLS. в домене не определены кластеры когерентности.

Когда я использую консоль WLS для запуска сервера Coherence, я вижу сообщения, подобные следующему, в журнале сервера Coherence, и в итоге время ожидания запуска истекает.

2012-02-23 15:21:22.807/32.691 Oracle Coherence GE 3.7.1.1 <Warning> (thread=Cluster, member=n/a): This Member(Id=0, Timestamp=2012-02-23 15:20:52.694, Address=10.229.117.91:8888, MachineId=34821, Location=site:,machine:adc2171238,process:30895,member:Server-0, Role=WeblogicWeblogicCacheServer) has been attempting to join the cluster at address /224.3.7.0:37000 with TTL 4 for 30 seconds without success; this could indicate a mis-configured TTL value, or it may simply be the result of a busy cluster or active failover.
2012-02-23 15:21:22.808/32.692 Oracle Coherence GE 3.7.1.1 <Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster that does not respond to join requests; this is usually caused by a network layer failure:
Message "SeniorMemberHeartbeat"
  {
  FromMember=Member(Id=1, Timestamp=2012-02-21 02:15:42.655, Address=127.0.0.1:8088, MachineId=60314, Location=site:,machine:localhost,process:23722, Role=WeblogicServer)
  FromMessageId=0
  Internal=false
  MessagePartCount=0
  PendingCount=0
  MessageType=17
  ToPollId=0
  Poll=null
  Packets
    {
    }
  Service=ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_ANNOUNCE), Id=0, Version=3.7.1}
  ToMemberSet=null
  NotifySent=false

  LastRecvTimestamp=none
  MemberSet=MemberSet(Size=1, ids=[1])
  }

Что я должен искать?

Ответы [ 2 ]

4 голосов
/ 24 февраля 2012

Возможно, вы захотите попробовать установить TTL (время жизни) на ноль с помощью JVM Coherence (команда), например:

-Dtangosol.coherence.ttl=0

Но от автора OP, @vkraemer, этоПохоже, что для одноадресной передачи с этой строкой требуется немного больше:

-Dtangosol.coherence.ttl=0 -Dtangosol.coherence.localhost=127.0.0.1

Установка значения TTL на ноль гарантирует, что пакеты не покидают исходящий компьютер (в данном случае сервер). В противном случае,программа пытается подключиться к удаленным кластерам ... и затем истекает время ожидания, потому что в сети нет других кластеров.

Если для localhost установлено значение 127.0.0.1, это фактически устанавливает одноадресный IP-адрес для сервера.Это может быть другой IP-адрес, но здесь используется 127.0.0.1, потому что это адрес, который в данный момент не используется ( см. Эту статью для получения дополнительной информации ). Вы также можете прочитать о loopback .

Также, при желании, см. эту ветку форума для получения дополнительной информации ( в частности сообщение Джонатана. Ночи .)

2 голосов
/ 24 февраля 2012

Саммеа ответ очень близок.Вот что в итоге сработало для меня:

   -Dtangosol.coherence.ttl=0 -Dtangosol.coherence.localhost=127.0.0.1

Я собираюсь поднять ответ Summea и принять мой.Если кто-то отправит ответ с объяснением «Почему это сработало», я, вероятно, возьму голос и приму его ответ.

...