Folks; I've fixed my phoenix ClassNotFound problem. Turns out, when I log into the San Diego cluster computer, I'm assigned randomly to one of their 640 nodes. Almost always, a different one each time. I wasn't emptying the phoenix log directory that stored the node's address from the previous run of phoenix. So, phoenix was always trying to reach classerver on the wrong node. I now delete all files in the phoenix log directory before I start phoenix. I noticed this problem only because I acted on a suggestion from this forum to use curl to see if classserver could be reached. This experience might be interesting to others working with Apache River on a cluster computer platform.
I'm now trying to get my application to register with reggie. The following error message indicates I'm timing out on the socket. The output shows that the reggie service (I turned on reggie debugging) is indeed running and a socket has been connected to. My SpaceAccessor.java code that tried to register follows. I'm using only Apache River jars. The reggie configuration files follow that. I think reggie can be reached on port 4160 but it does say a different port in the dump (which changes every time the script runs). I think reggie is not hearing the registrar request but I don't know how to debug this or fix it. Regards, -Tim ---------------------------------------------------------------- INFO: ClassServer started [[/projects/builder-group/jpg/apache-river/lib-dl/,/projects/builder-group/jpg/apache-river/lib/, /projects/builder-group/jpg/apache- river/lib-ext/], port 4160] Feb 27, 2017 8:04:54 AM org.apache.river.outrigger.OutriggerServerImpl <init> INFO: Outrigger server started: org.apache.river.outrigger.OutriggerServerImpl@502438db Feb 27, 2017 8:04:54 AM org.apache.river.phoenix.Activation init INFO: activation daemon started Feb 27, 2017 8:04:55 AM org.apache.river.reggie.RegistrarImpl$Unicast <init> INFO: Reggie Unicast Discovery listening on port 33,814 Feb 27, 2017 8:04:55 AM org.apache.river.reggie.RegistrarImpl$3 run INFO: started Reggie: 8ed3b539-4a66-4941-941a-17715df5eea9, [nonsecure], jini:// tscc-2-53.sdsc.edu:33814/ java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:152) at java.net.SocketInputStream.read(SocketInputStream.java:122) at java.io.DataInputStream.readFully(DataInputStream.java:195) at org.apache.river.discovery.DiscoveryV2.doUnicastDiscovery(DiscoveryV2.java:460) at net.jini.core.discovery.LookupLocator$2.performDiscovery(LookupLocator.java:347) at org.apache.river.discovery.internal.MultiIPDiscovery.getSingleResponse(MultiIPDiscovery.java:153) at org.apache.river.discovery.internal.MultiIPDiscovery.getResponse(MultiIPDiscovery.java:82) at net.jini.core.discovery.LookupLocator.getRegistrar(LookupLocator.java:341) at net.jini.core.discovery.LookupLocator.getRegistrar(LookupLocator.java:315) at SpaceAccessor.<init>(SpaceAccessor.java:83) --------------------- Socket info from SpaceAccessor.java ------- spaceaccessor: jiniURL= jini://tscc-2-53.sdsc.edu locator= jini://tscc-2-53.sdsc.edu:4160/ Port: 4160 Canonical Host Name: tscc-2-53.sdsc.edu Host Address: 132.249.107.73 Local Address: /132.249.107.73 Local Port: 40406 Local Socket Address: /132.249.107.73:40406 Receive Buffer Size: 87379 Send Buffer Size: 330075 Keep-Alive: false SO Timeout: 0 isConnected= true bad request " bad request " Read timed out bad request " --------------------- SpaceAccessor.java code fragment -------------- import net.jini.core.discovery.LookupLocator; import net.jini.core.lookup.*; import net.jini.core.entry.Entry; import net.jini.space.JavaSpace; import net.jini.lookup.entry.*; import java.io.*; import java.rmi.*; import java.net.*; import java.util.*; import net.jini.discovery.LookupDiscovery; import net.jini.discovery.DiscoveryListener; import net.jini.discovery.DiscoveryEvent; import net.jini.discovery.Constants; public class SpaceAccessor { static String jiniURL = "jini://" + Id.mstrip; static final long MAX_LOOKUP_WAIT = 2000L; static final int WAIT = 100000; JavaSpace space; public SpaceAccessor() { LookupLocator locator = null; ServiceRegistrar registrar = null; try { System.setSecurityManager(new SecurityManager()); } catch (Exception e) { e.printStackTrace(); } if (Id.client) { jiniURL = "jini://" + Id.mstrip + ":4160/"; } Id.printf_("spaceaccessor: jiniURL= " + jiniURL); try { locator = new LookupLocator(jiniURL); Thread.sleep(1000); Id.printf_("locator= " + locator.toString()); Socket socket = new Socket(locator.getHost(),locator.getPort()); printSocketInformation(socket); Id.printf_("isConnected= " + (socket.isConnected())); registrar = locator.getRegistrar(WAIT); --------------------- start-reggie.config ----------------------- import org.apache.river.config.ConfigUtil; import org.apache.river.start.NonActivatableServiceDescriptor; import org.apache.river.start.ServiceDescriptor; org.apache.river.start { private static policy = "policy.all"; port="4160"; private static codebasePrefix= " http://" + ConfigUtil.getHostAddress() + ":" + port + "/"; private static codebase = codebasePrefix + "reggie-dl.jar" + codebasePrefix + "jsk-dl.jar" + codebasePrefix + "reggie.jar" + codebasePrefix + "jsk-policy.jar"; private static classpath = "${/}projects${/}builder-group${/}jpg${/}apache-river${/}lib${/}reggie.jar"; private static config = "jrmp-reggie.config"; static serviceDescriptors = new ServiceDescriptor[] { new NonActivatableServiceDescriptor( codebase, policy, classpath, "org.apache.river.reggie.TransientRegistrarImpl", new String[] { config }) }; } --------------------- jrmp-reggie.config ----------------------- /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* Configure source file for JRMP reggie */ import net.jini.jrmp.JrmpExporter; org.apache.river.reggie { serverExporter = new JrmpExporter(); initialMemberGroups = new String[] { "nonsecure" }; }//end org.apache.river.reggie