1 Reply Latest reply: Mar 4, 2013 3:05 PM by 445754 RSS

    JDeveloper 11g + bc4j.xcfg Connection Definition

    445754
      When EJBs (and remoteable Application Modules are deployed) there is a t3:// url for weblogic created. In a client, you can programmatically connect via the following:

      env.put(Context.PROVIDER_URL, "t3://127.0.0.1:7101");

      or, to multiple nodes/servers:

      env.put(Context.PROVIDER_URL, "t3://127.0.0.1:7101,127.0.0.1:8001");

      However, using application module bc4j.xcfg files, they are identified by:

      <ConnectionDefinition name="IntegratedWebLogicServer">
      <Entry value="7101" name="HTTP_PORT"/>
      <Entry value="7102" name="JMX_CONNECTOR_SSL_PORT"/>
      <Entry value="WebLogic_10.x" name="ConnectionType"/>
      <Entry value="weblogic" name="user"/>
      <Entry value="DefaultDomain" name="weblogic.domain"/>
      <Entry value="127.0.0.1" name="JMX_CONNECTOR_HOST"/>
      <Entry value="7102" name="HTTPS_PORT"/>
      <Entry value="7101" name="JMX_CONNECTOR_PORT"/>
      <SecureEntry name="password">
      <![CDATA[{904}05F77513FBC1AA0E3B7C11F5168D6017F9461293814174D436]]>
      </SecureEntry>
      <Entry name="DeployPassword" value="true"/>
      </ConnectionDefinition>

      I have tried adding an entry for URL:

      <Entry name="URL" value="t3://127.0.0.1:7101,127.0.0.1:8001"/>

      and also via a

      java.naming.factory.url="t3://127.0.0.1:7101,127.0.0.1:8001"

      value on the <Custom part of the AppModuleConfig section. Neither of these are working to tell the application which t3 url to use. Since it's autocreated, I've tried putting:

      <Entry value="7101+8001" name="JMX_CONNECTOR_PORT"/>

      with no luck:

      Caused by: java.rmi.ConnectException: No known valid port for: 'Default[t3]:t3(t3):null:-1:127.0.0.1:-1'; No available router to destination
           at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:470)
           at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:321)
           at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
           at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
           at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
           at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)

      Can anyone help me to identify a way to customize the t3 url of an application module so that i can connect to multiple nodes?
        • 1. Re: JDeveloper 11g + bc4j.xcfg Connection Definition
          445754
          So, i solved this by recreating oracle.jbo.client.remote.ejb.wl.WLEJBAmHomeImpl, and used a pre-formed provider url if it exists:

          String siteURL = null;
          if (env.get("java.naming.provider.url.override") != null) {
          siteURL = (String) env.get("java.naming.provider.url.override");
          } else {
          siteURL = new StringBuilder().append("t3://").append(host).append(port != -1 ? new StringBuilder().append(":").append(port).toString() : "").toString();
          }