Skip to main content

Running ADF in weblogic cluster

I am trying to run my ADF app in a cluster and my login page redirects back on itself endlessly.
Note this has been resolved - we restarted the entire weblogic server and the problem dissapeared. (I think something went wrong in the deployment) the one other change I made was to change the inner xml of session-descriptor in weblogic.xml FROM: <sharing-enabled>true</sharing-enabled> TO:
<persistent-store-type>REPLICATED_IF_CLUSTERED</persistent-store-type> this should not make a difference but I though I would mention it.

Here are my notes to self as I moved through the process.

Application
  adf-config.xml
  <adf-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config">
    <adf-scope-ha-support>true</adf-scope-ha-support>
  </adf-controller-config>
 
  Web.xml
  <context-param>
    <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
    <param-value>false</param-value>
  </context-param>

Weblogic Setup (I am testing locally on windows for now)
  • C:\Dev\Middleware\wlserver_10.3\server\bin\startNodeManager.cmd - start node manager before you can start managed servers
  • Add to Domain -- Enviroment -- servers -- your managed servers -- configuration tab -- server start tab -- arguments text area : -Xms1536m -Xmx1536m -Duser.timezone=+02:00 -XX:MaxPermSize=512m
  • Make sure you have all the properties and classpaths set (you can copy and paste them from startup)

Comments

  1. Hi,

    > -Xms1536m -Xmx1536m

    you have a solid machine ;) How many of these Managed servers are you able to run locally?
    Do you use an LB in front? ohs_mod_wl? LB-Servlet?

    Andreas.

    ReplyDelete
  2. Hi Andreas, yhea we believe that developers should always have the best machines :)

    Anyway we intend to use ohs_mod_wl or apache if that fails, we have not quite got there yet but will soon.

    ReplyDelete

Post a Comment

Popular posts from this blog

ADF sort of generic screen for tables with the same structure

We have a couple (about a hundred) of tables with the same structure (Code, Description, Create Date, Update Date). So I wanted to do something simple so that I did not have to create all these screens 1) EO   I created the EO based on one of the tables I had that had the above columns. I then Added a transient attribute called table name to my EO based on a groovy expression. (the expression needs to change as I am reading web tier stuff from the model layer but I will fix this later) I then generated a java class for my EO. And added the following overriden method to my newly created java class. protected StringBuffer buildDMLStatement(int i, AttributeDefImpl[] attributeDefImpl,   AttributeDefImpl[] attributeDefImpl2, AttributeDefImpl[] attributeDefImpl3, boolean b) {   StringBuffer statement = super.buildDMLStatement(   i, attributeDefImpl, attributeDefImpl2, attributeDefImpl3, b); return new StringBuffer(StringUtils.replace(statement.to...

Util code

public static MethodExpression getMethodExpression( String expr, Class returnType, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); ExpressionFactory elFactory = fc.getApplication().getExpressionFactory(); return elFactory.createMethodExpression( elctx, expr, returnType, argTypes); } public static javax.faces.el.MethodBinding getMethodBinding( String expr, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); return fc.getApplication().createMethodBinding(expr, argTypes); } SetPropertyListener listener = new SetPropertyListener( ActionEvent.class.getName()); listener.setFrom(link.getRoute()); listener.setValueExpression("to", JSFUtils.getValueExpression("#{pageFlowScope.route}", String.class)); action.addActionListener(listener); AdfFacesContext.getCurrentInstance().getPageFlowScope() .put("route", lin...

MANIFEST.MF merge JDeveloper for an executable jar

Goto your project > properties. Then click on deployment in the menu. Edit or add a jar deployment profile. Fill in the details under jar options (select Include manifest and give it a main class name) Also remember that the merge functionality only works with a BLANK line at the end of the merge file. REALLY this caught me. My merge file contents: Class-Path: commons-codec-1.3.jar [...empty line here CRLF...]