Jul 11, 2013

Enabling Weblogic Server for debug

After the line ${JAVA_HOME}/bin/java ${JAVA_VM} –version, add the following two lines in $DOMAIN_HOME/bin/startWeblogic.sh
 
echo "Launching Java with debug port: 11171" 

export JAVA_OPTIONS="-Xdebug -Djava.compiler=NONE -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=11171,suspend=n $JAVA_OPTIONS" (for Linux)

set JAVA_OPTIONS=-Xdebug -Djava.compiler=NONE -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=11171,suspend=n %JAVA_OPTIONS% (for Windows)
 
Note: The debug port 11171 specified should be available.

Jun 17, 2013

java.lang.UnsupportedClassVersionError: com/sun/javadoc/Type : Unsupported major.minor version 51.0

java.lang.UnsupportedClassVersionError: com/sun/javadoc/Type : Unsupported major.minor version 51.0 - This exception will occur when you mess up with different java versions in ant build script.

eg: If Java 7 set in Windows / Linux environment variables (JAVA_HOME & PATH) but trying to build the project in eclipse which is configured to Java 6.

Resolutions:
1. Update environment variables to set Java 6
or
2. Add Java 7 to Eclipse's Installed JREs and select it.

May 30, 2013

ADF UI Performance Guidelines

  1. Remove unnecessary/unused bindings from PageDefs.
  2. Remove unnecessary fields from <>.xml.
  3. Identify and eliminate unnecessary SQLs.
  4. Use short component Ids (less than 6 chars).
  5. Cache Backing bean getters – Do not evaluate Els often.
  6. Use Conditional Activation for Taskflows.
  7. Always call manager APIs and Finders with in a transaction.
  8. Use the "immediate" attribute.
These are some cases where setting immediate to TRUE can lead to better performance.
·         The commandNavigationItem in the navigationPane can use the immediate attribute set to TRUE to avoid processing the data from the current screen while navigating to the new page.
·         If the input component value has to be validated before the other  values, immediate should be set to TRUE. In case of an error it be detected earlier in the cycle and additional processing be avoided.
  1. Use the "visible" and "rendered" attributes.
·         For better performance, consider setting the component to not rendered instead of not visible, assuming there is no client interaction with the component. Making a component not rendered can improve server performance and client response time since the component does not have client side representation.

Performance Considerations for Table and Tree Components

  1. Modify table fetch size
·         Tables have a fetch size which defines the number of rows to be sent to the client in one round-trip. To get the best performance, keep this number low while still allowing enough rows to fulfill the initial table view port. This ensures the best performance while eliminating extra server requests.

  1. Disable column stretching
·         Columns in the table and treeTable components can be stretched so that there is no unused space between the end of the last column and the edge of the table or treeTable component. This feature is turned off by default due to potential performance impacts. Turning this feature on may have a performance impact on the client rendering time, so use caution when enabling this feature with complex tables.

Performance Considerations for autoSuggest

·         autoSuggest is a feature that can be enabled for inputText, inputListOfValues, and inputComboboxListOfValues components. When the user types characters in the input field, the component displays a list of suggested items.
·         This feature performs a query in the database table to filter the results. In order to speed up database processing, a database index should be created on the column for which autosuggest is enabled. This improves the component's response times especially when the database table has a large number of rows.

Data Delivery - Lazy versus Immediate

·         Lazy delivery should be used on pages where content is not immediately visible unless the user scrolls down to it. In this case the time to deliver the visible context to the client be shorter, and the user perceives better performance.
·         Immediate delivery (contentDelivery="immediate") should be used if table data control is fast, or if it returns a small set of data. In these cases the response time be faster than using lazy delivery.

Settings for web.xml

<context-param>
                                <param-name>                org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS
                                <param-value> 3
</context-param>
 <init-param>
    <param-name>jsp_timeout
    <param-value>600
</init-param>
<init-param>
                <param-name>debug_mode
    <param-value>false
</init-param>
<init-param>
    <param-name>load_description_from_tlds
    <param-value>false
</init-param>

<load-on-startup>1

May 15, 2013

SQL script to check the tablespace usage in Oracle Database.

Here is the SQL Script to check the tablespace usage of all the tablespaces in Oracle Database.
It displays in the memory usage in MBs.

SELECT Total.name "Tablespace Name",
nvl(Free_space, 0) "Free Size(MB)",
nvl(total_space-Free_space, 0) "Used Size(MB)",
total_space "Total Size(MB)"
FROM
(select tablespace_name, sum(bytes/1024/1024) free_space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) total_space
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name(+) = Total.name
ORDER BY Total.name;

Source: http://planetofsolutions.blogspot.in/2010/03/how-to-check-tablespace-usage-in-oracle.html

Dec 12, 2012

How to export the MetaData from MDS

Steps to export the MetaData from MDS for an application running on weblogic server. Here we are using WebLogic Scripting Tools to export.

1. Run wlst.sh from $BEAHOME/oracle_common/common/bin/wlst.sh

2. Connect the Weblogic server as mention:
wls:/offline> connect()
Please enter your username :weblogic
Please enter your password :
Please enter your server URL [t3://localhost:7001] :t3://localhost:9113
Connecting to t3://localhost:9113 with userid weblogic ...
Successfully connected to managed Server 'managedServer1' that belongs to domain 'DefaultDomain'

3. To list all the available commands
wls:/DefaultDomain/serverConfig> help('all') or wls:/dev2/serverConfig> help();

4. For get specific command description
wls:/DefaultDomain/serverConfig> help('exportMetadata')

5. The following example exports all metadata files from the application "app1" deployed in the server "server1":
wls:/weblogic/serverConfig> exportMetadata(application='app1', server='server1', toLocation='/tmp/myrepos',docs='/**')
Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
For more help, use help(domainRuntime)
Executing operation: exportMetadata.
"exportMetadata" operation completed. Summary of "exportMetadata" operation is:
List of documents successfully transferred:
/mypackage/write.xml
/mypackage/write1.xml
/mypackage/mdssys/cust/user/user1/write1.xml.xml
/mypackage/mdssys/cust/user/user2/write2.xml.xml
/sample1.jspx
5 documents successfully transferred.

Jul 3, 2012

Shell script to rename the files as per requirement.

Shell script to rename .xml files to .properties

for NAME in *.xml;
do
length=${#NAME};
echo ${NAME} ${length};
mv ${NAME} ${NAME:0:${length}-4}.properties
done;

May 24, 2012

Exception:Cannot write XdndAware property, on Create weblogic domain wizard

If you are getting blank screen while creating weblogic domain using weblogic configuration domain wizard due to below exception
./config.sh
Exception in thread "AWT-EventQueue-0" sun.awt.X11.XException: Cannot write XdndAware property
        at sun.awt.X11.XDnDDropTargetProtocol.registerDropTarget(XDnDDropTargetProtocol.java:79)
        at sun.awt.X11.XDropTargetRegistry.registerDropSite(XDropTargetRegistry.java:554)
        at sun.awt.X11.XWindowPeer.addDropTarget(XWindowPeer.java:1633)
        at sun.awt.X11.XComponentPeer.addDropTarget(XComponentPeer.java:1509)
        at java.awt.dnd.DropTarget.addNotify(DropTarget.java:493)
        at java.awt.Component.addNotify(Component.java:6689)
        at java.awt.Container.addNotify(Container.java:2565)
        at javax.swing.JComponent.addNotify(JComponent.java:4685)
        at java.awt.Container.addNotify(Container.java:2576)
        at javax.swing.JComponent.addNotify(JComponent.java:4685)
        at java.awt.Container.addNotify(Container.java:2576)
        at javax.swing.JComponent.addNotify(JComponent.java:4685)
        at java.awt.Container.addImpl(Container.java:1066)
        at java.awt.Container.add(Container.java:925)
        at com.oracle.cie.wizard.GUIContext$8.run(GUIContext.java:480)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
        at java.awt.EventQueue.access$000(EventQueue.java:84)
        at java.awt.EventQueue$1.run(EventQueue.java:607)
        at java.awt.EventQueue$1.run(EventQueue.java:605)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Workaround:-
Add "-DsuppressSwingDropSupport=true" property to JVM_ARGS in $WL_HOME/common/bin/config.sh file and run.