Mar 3, 2011
JVM Heap
2. When there are more objects created & killed very frequently, the JVM stores them in memory spaces wherever they have free space.
3. This results in a situation called Heap Fragmentation ( same like disk fragmentation ) wherein the heap is fragmented.
4. This makes the JVM not to release the contiguous memory space to OS ( remember, memory is allocated /de-allocated in contiguous memory blocks)
How to Avoid Heap Fragmentation
1.Identify and reduce the frequent creation of unnecessary objects.
2.Compact the Heap by using the option -compactGc option of the JVM ( this comes with a performance penalty )
3. Keep the Max-Heap size setting to as close as possible to the maximum memory required by your JVM
Jan 11, 2011
Jconsole
1. Launch Jconsole using below command.
%JAVA_HOME%/bin/jconsole -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;%JAVA_HOME%\lib\tools.jar;%WLS_HOME%\server\lib\weblogic.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote (for Windows)
or
jconsole -J-Djava.class.path=$JAVA_HOME/lib/jconsole.jar:$JAVA_HOME/lib/tools.jar:$WLS_HOME/server/lib/weblogic.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote (for Linux)
2. Select Remote radio button on New Connection screen & Enter
service:jmx:t3://
3. Press 'Connect' by providing Username & Password.
Dec 22, 2010
Dec 2, 2010
Nov 26, 2010
how to load properties from properties files?
The following Java code performs the first two steps described in the previous section: loading the default properties and loading the remembered properties:
. . .
/* create and load default properties */
Properties defaultProps = new Properties();
FileInputStream in = new FileInputStream("defaultProperties");
defaultProps.load(in);
in.close();
// create application properties with default
Properties applicationProps = new Properties(defaultProps);
// now load properties from last invocation
in = new FileInputStream("appProperties");
applicationProps.load(in);
in.close();
. . .
First, the application sets up a default Properties object. This object contains the set of properties to use if values are not explicitly set elsewhere. Then the load method reads the default values from a file on disk named defaultProperties.
Next, the application uses a different constructor to create a second Properties object, applicationProps, whose default values are contained in defaultProps. The defaults come into play when a property is being retrieved. If the property can't be found in applicationProps, then its default list is searched.
Finally, the code loads a set of properties into applicationProps from a file named appProperties. The properties in this file are those that were saved from the application the last time it was invoked, as explained in the next section.
Source:- http://download.oracle.com/javase/tutorial/essential/environment/properties.html
Nov 23, 2010
sqlplus syntax
eg:sqlplus sys/oracle@10.177.219.131:1521/orcl.idc.oracle.com as sysdba
Oct 19, 2010
Generate Java Code from WSDL
Overview
The wsimport tool generates JAX-WS portable artifacts, such as:
- Service Endpoint Interface (SEI)
- Service
- Exception class mapped from wsdl:fault (if any)
- Async Reponse Bean derived from response wsdl:message (if any)
- JAXB generated value types (mapped java classes from schema types)
These artifacts can be packaged in a WAR file with the WSDL and schema documents along with the endpoint implementation to be deployed. also provides wsimport ant task, see Wsimport ant task.
Launching wsimport
- Solaris/Linux
/bin/wsimport.sh -help
- Windows
\bin\wsimport.bat -help
Syntax
wsimport [options]
The following table lists the wsimport options.
| Option | Description |
|---|---|
-d | Specify where to place generated output files |
-b | Specify external JAX-WS or JAXB binding files (Each |
-B | Pass this option to JAXB schema compiler |
-catalog | Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of catalog and see catalog sample. |
-extension | Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations |
-help | Display help |
-httpproxy: | Specify an HTTP proxy server (port defaults to 8080) |
-keep | Keep generated files |
-p | Specifying a target package via this command-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification |
-s | Specify where to place generated source files |
-verbose | Output messages about what the compiler is doing |
-version | Print version information |
-wsdllocation | @WebServiceClient.wsdlLocation value |
-target | Generate code as per the given JAX-WS specification version. version 2.0 will generate compliant code for JAX-WS 2.0 spec. |
-quiet | Suppress wsimport output |
Multiple JAX-WS and JAXB binding files can be specified using -b option and they can be used to customize various things like package names, bean names, etc. More information on JAX-WS and JAXB binding files can be found in the customization documentation.
Example
wsimport -p stockquote http://stockquote.xyz/quote?wsdlThis will generate the Java artifacts and compile them by importing the
http://stockquote.xyz/quote?wsdl.
Ant task
An Ant task for the wsimport tool is provided along with the tool. The attributes and elements supported by the Ant task are listed below:
wsdl="..."
destdir="directory for generated class files"
sourcedestdir="directory for generated source files"
keep="true|false"
extension="true|false"
verbose="true|false"
version="true|false"
wsdlLocation="..."
catalog="catalog file"
package="package name"
Attribute | Description | Command line |
|
| WSDL file | WSDL |
|
| Specify where to place output generated classes |
|
sourcedestdir | Specify where to place generated source files, keep is turned on with this option
|
|
|
| Keep generated files, tunred on with sourcedestdir option
|
|
|
| Output messages about what the compiler is doing |
|
|
| Specify external JAX-WS or JAXB binding files |
|
|
| allow vendor extentions (funcionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations
|
|
wsdllocation
| The wsdl URI passed thru this option will be used to set the value of @WebService.wsdlLocation and @WebServiceClient.wsdlLocation annotation elements on the generated SEI and Service interface
| -wsdllocation
|
catalog
| Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Additionally, ant xmlcatalog type can be used to resolve entities, see wsimport_catalog sample.
| -catalog |
package
| Specifies the target package | -p
|
The binding attributes is like a path-like structure and can also be set via nested elements, respectively. Before this task can be used, a element needs to be added to the project as given below:
where jaxws.classpath is a reference to a path-like structure, defined elsewhere in the build environment, and contains the list of classes required by the JAX-WS tools.
Examples
destdir="${build.classes.home}"
debug="true"
wsdl="AddNumbers.wsdl"
binding="custom.xml"/>
The above example generates client-side artifacts for AddNumbers.wsdl, stores .class files in the ${build.classes.home} directory using the custom.xml customization file. The classpath used is xyz.jar and compiles with debug information on.
sourcedestdir="${source.dir}"
destdir="${build.classes.home}"
wsdl="AddNumbers.wsdl">
The above example generates portable artifacts for
AddNumbers.wsdl, stores .java files in the ${source.dir} directory, stores .class files in the ${build.classes.home} directory.
Source: https://jax-ws.dev.java.net/jax-ws-ea3/docs/wsimport.html
