Weblogic database resources using JMX

Does anyone have an idea on how to get user defined Datasource information from Weblogic server using JMX?
I have tried with different ObjectNames but none of them seems to work
ObjectName service = new ObjectName("com.bea:Name=EditService,Type=weblogic.management.mbeanservers.edit.EditServiceMBean");
and
connection.getAttribute(service, "JDBCSystemResources");
Thank you very much for your help.

I would encourage you to use WLST because it's much easier IMHO. What is your use case?
But if you must use java, this should get you started:
package foo;
import java.util.Hashtable;
import javax.management.MBeanAttributeInfo;
import javax.management.MBeanInfo;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
public class TestJMX {
     public static void main(String[] args) throws Exception {
          JMXConnector jmxCon = null;
          try {
               JMXServiceURL serviceUrl = new JMXServiceURL(
                         "service:jmx:t3://localhost:7011/jndi/weblogic.management.mbeanservers.edit");
               System.out.println("Connecting to: " + serviceUrl);
               Hashtable env = new Hashtable();
               env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
                         "weblogic.management.remote");
               env.put(javax.naming.Context.SECURITY_PRINCIPAL, "weblogic");
               env.put(javax.naming.Context.SECURITY_CREDENTIALS, "welcome1");
               jmxCon = JMXConnectorFactory.newJMXConnector(serviceUrl, env);
               jmxCon.connect();
               MBeanServerConnection con = jmxCon.getMBeanServerConnection();
//               Set<ObjectName> mbeans = con.queryNames(null, null);
//               for (ObjectName mbeanName : mbeans) {
//                    System.out.println(mbeanName);
               System.out.println("***** JDBC System Resources ********" );
               ObjectName domain = new ObjectName("com.bea:Name=medrec,Type=Domain");
               ObjectName[] objNames = (ObjectName[]) con.getAttribute(domain, "JDBCSystemResources");
               System.out.println("JDBCSystemResources");
               for( ObjectName objName : objNames )
                    System.out.println( objName );
                    MBeanInfo info = con.getMBeanInfo(objName);
                    MBeanAttributeInfo[] attributes = info.getAttributes();
                    for( MBeanAttributeInfo attrInfo : attributes )
                         String name = attrInfo.getName();
                         System.out.println( name + " " + attrInfo.getType() + " " + con.getAttribute(objName, name) );
          } finally {
               if (jmxCon != null)
                    jmxCon.close();
}For me that prints:
<pre>
Connecting to: service:jmx:t3://localhost:7011/jndi/weblogic.management.mbeanservers.edit
***** JDBC System Resources ********
JDBCSystemResources
com.bea:Name=MedRecGlobalDataSourceXA,Type=JDBCSystemResource
Parent javax.management.ObjectName com.bea:Name=medrec,Type=Domain
Resource javax.management.ObjectName com.bea:Name=MedRecGlobalDataSourceXA,Type=weblogic.j2ee.descriptor.wl.JDBCDataSourceBean,Parent=[medrec]/JDBCSystemResources[MedRecGlobalDataSourceXA],Path=JDBCResource[MedRecGlobalDataSourceXA]
Type java.lang.String JDBCSystemResource
CompatibilityName java.lang.String null
ModuleType java.lang.String null
SourcePath java.lang.String ./config/jdbc/MedRec-jdbc.xml
JDBCResource javax.management.ObjectName com.bea:Name=MedRecGlobalDataSourceXA,Type=weblogic.j2ee.descriptor.wl.JDBCDataSourceBean,Parent=[medrec]/JDBCSystemResources[MedRecGlobalDataSourceXA],Path=JDBCResource[MedRecGlobalDataSourceXA]
DescriptorFileName java.lang.String jdbc/MedRec-jdbc.xml
Notes java.lang.String null
Name java.lang.String MedRecGlobalDataSourceXA
SubDeployments [Ljavax.management.ObjectName; [Ljavax.management.ObjectName;@3219762f
DeploymentPrincipalName java.lang.String null
Targets [Ljavax.management.ObjectName; [Ljavax.management.ObjectName;@178aab40
DeploymentOrder java.lang.Integer 100
</pre>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • How to access MultiDataSource in Weblogic 10.3  using jmx

    Hi ,
    I am looking for some sample jmx code or document which provides enough details to access JDBC Multi DataSource in Weblogic 10.3.
    Thanks in Advance

    http://www.oracle.com/technology/products/weblogic/howto/rac/index.html
    For the java code to do it you can start a WLST recording before you create the multi-data source which should get you started.

  • How to get application's state on weblogic server using jmx.

    I want to get application state using JMX, I am able to get application list, name but not able to find its state. Some code snippet mentioned below. Please let me know if I can use some other MBean
    Thanks in advance..
    static {
    try {
    service = new ObjectName("com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
    }catch (MalformedObjectNameException e) {
    throw new AssertionError(e.getMessage());
    * Initialize connection to the Domain Runtime MBean Server
    public static void initConnection(String hostname, String portString, String username, String password) throws IOException, MalformedURLException
    String protocol = "t3";
    int port = Integer.parseInt(portString);
    String jndiroot = "/jndi/";
    String mserver = "weblogic.management.mbeanservers.domainruntime";
    JMXServiceURL serviceURL= new JMXServiceURL(protocol,hostname, port, jndiroot+mserver);
    // JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, portString, jndiroot , mserver);
    Hashtable h = new Hashtable();
    h.put(Context.SECURITY_PRINCIPAL, username);
    h.put(Context.SECURITY_CREDENTIALS, password);
    h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
    "weblogic.management.remote");
    connector = JMXConnectorFactory.connect(serviceURL, h);
    connection = connector.getMBeanServerConnection();
    * Get an array of ServerRuntimeMBeans
    public static ObjectName[] getServerRuntimes() throws Exception {
    return (ObjectName[]) connection.getAttribute(service,
    "ServerRuntimes");
    * Get an array of WebAppComponentRuntimeMBeans
    public void getApplicationData() throws Exception {
    ObjectName[] serverRT = getServerRuntimes();
    int length = (int) serverRT.length;
    for (int i = 0; i < length; i++) {
    ObjectName[] appRT =
    (ObjectName[]) connection.getAttribute(serverRT,
    "ApplicationRuntimes");
    int appLength = (int) appRT.length;
    for (int x = 0; x < appLength; x++) {
    System.out.println("Application name: " +
    (String)connection.getAttribute(appRT[x], "Name")+"Application Status"+(String)connection.getAttribute(appRT[x], "State"));
    public static void main(String[] args) throws Exception {
    String hostname = "*****.us.oracle.com";
    String portString = "*****";
    String username = "***";
    String password = "****";
    JMXUtil s = new JMXUtil();
    initConnection(hostname, portString, username, password);
    s.getApplicationData();
    connector.close();

    register at elicense.bea.com and ask there.
    but, a license is a license, as long as the ipaddr is not restricted.
    Wayne
    Bora wrote:
    I downloaded an Evaluation copy from BEA but it expires in 30 days. The place I
    work has licenses for HPUX but I need to have a copy on my laptop for development
    & test.
    Thanks for help!
    Sincerely
    Bora

  • What are the database resources when collecting stats using dbms_stats

    Hello,
    We have tables that contain stale stats and would want to collect stats using dbms_stats with estiamte of 30%. What are the database resources that would be consummed when dbms_stats is used on a table? Also, would the table be locked during dbms_stats? Thank you.

    1) I'm not sure what resources you're talking about. Obviously, gathering statistics requires I/O since you've got to read lots of data from the table. It requires CPU particularly if you are gathering histograms. It requires RAM to the extent that you'll be doing sorts in PGA and to the extent that you'll be putting blocks in the buffer cache (and thus causing other blocks to age out), etc. Depending on whether you immediately invalidate query plans, you may force other sessions to start doing a lot more hard parsing as well.
    2) You cannot do DDL on a table while you are gathering statistics, but you can do DML. You would generally not want to gather statistics while an application is active.
    Justin

  • Weblogic.security.service.NotYetInitializedException using JMX

    Hi there,
    I'm trying to use JMX to add a notification listener to listen for attribute changes to a WLS 8.1 MBean. My code when setting up the listener is as so:
    String url = "t3://localhost:7001";
    String serverName = "Server1";
    String userName = "weblogic";
    String password = "weblogic";
    MBeanHome home = null;
    RemoteMBeanServer rmbs = null;
    Environment env = new Environment();
    env.setProviderUrl(url);
    env.setSecurityPrincipal(userName);
    env.setSecurityCredentials(password);
    try {
         Context ctx = env.getInitialContext();
         home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    } catch (NamingException e) {
         e.printStackTrace();
    rmbs = home.getMBeanServer();
    WLListener listener = new WLListener();
    WebLogicObjectName mbeanName = new WebLogicObjectName("examplesServer", "Server", "examples");
    rmbs.addNotificationListener(mbeanName, listener, null, null);This seems to work fine, I do not get any error messages. As you can see I'm using the server started through the examples, and I'm adding a notification listener to the ServerMBean.
    My notification listener code is as so:
    public void handleNotification(Notification notification, Object arg1) {
         AttributeChangeNotification changedAttrib = (AttributeChangeNotification) notification;
         try {
              System.out.println("Changed value from: " + changedAttrib.getOldValue() + " to " + changedAttrib.getNewValue());
         } catch (Exception ex) {
              ex.printStackTrace();
    public boolean isNotificationEnabled(Notification arg0) {
         return true;
    }Only when a notification happens and I call getOldValue() I get:
    weblogic.security.service.NotYetInitializedException: [Security:090392]SecurityServiceManager not yet initialized.
         at weblogic.security.service.SecurityServiceManagerDelegateImpl.getSecurityService(SecurityServiceManagerDelegateImpl.java:156)
         at weblogic.security.service.SecurityServiceManager.getSecurityService(SecurityServiceManager.java:175)
         at weblogic.management.internal.SecurityHelper.getRoleManager(SecurityHelper.java:402)
         at weblogic.management.internal.SecurityHelper.access$100(SecurityHelper.java:54)
         at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeAction.run(SecurityHelper.java:493)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.management.internal.SecurityHelper.isAccessAllowed(SecurityHelper.java:393)
         at weblogic.management.internal.AttributeChangeNotification.getOldValue(AttributeChangeNotification.java:136)
         at com.xxxx.password.PasswordBme$WLListener.handleNotification(PasswordBme.java:76)
         at com.xxxx.password.PasswordBme$WLListener_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)Is there a step I'm missing out? The entry for this message in the documentation suggests calling BEA support.

    Hi there,
    I'm trying to use JMX to add a notification listener to listen for attribute changes to a WLS 8.1 MBean. My code when setting up the listener is as so:
    String url = "t3://localhost:7001";
    String serverName = "Server1";
    String userName = "weblogic";
    String password = "weblogic";
    MBeanHome home = null;
    RemoteMBeanServer rmbs = null;
    Environment env = new Environment();
    env.setProviderUrl(url);
    env.setSecurityPrincipal(userName);
    env.setSecurityCredentials(password);
    try {
         Context ctx = env.getInitialContext();
         home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    } catch (NamingException e) {
         e.printStackTrace();
    rmbs = home.getMBeanServer();
    WLListener listener = new WLListener();
    WebLogicObjectName mbeanName = new WebLogicObjectName("examplesServer", "Server", "examples");
    rmbs.addNotificationListener(mbeanName, listener, null, null);This seems to work fine, I do not get any error messages. As you can see I'm using the server started through the examples, and I'm adding a notification listener to the ServerMBean.
    My notification listener code is as so:
    public void handleNotification(Notification notification, Object arg1) {
         AttributeChangeNotification changedAttrib = (AttributeChangeNotification) notification;
         try {
              System.out.println("Changed value from: " + changedAttrib.getOldValue() + " to " + changedAttrib.getNewValue());
         } catch (Exception ex) {
              ex.printStackTrace();
    public boolean isNotificationEnabled(Notification arg0) {
         return true;
    }Only when a notification happens and I call getOldValue() I get:
    weblogic.security.service.NotYetInitializedException: [Security:090392]SecurityServiceManager not yet initialized.
         at weblogic.security.service.SecurityServiceManagerDelegateImpl.getSecurityService(SecurityServiceManagerDelegateImpl.java:156)
         at weblogic.security.service.SecurityServiceManager.getSecurityService(SecurityServiceManager.java:175)
         at weblogic.management.internal.SecurityHelper.getRoleManager(SecurityHelper.java:402)
         at weblogic.management.internal.SecurityHelper.access$100(SecurityHelper.java:54)
         at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeAction.run(SecurityHelper.java:493)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.management.internal.SecurityHelper.isAccessAllowed(SecurityHelper.java:393)
         at weblogic.management.internal.AttributeChangeNotification.getOldValue(AttributeChangeNotification.java:136)
         at com.xxxx.password.PasswordBme$WLListener.handleNotification(PasswordBme.java:76)
         at com.xxxx.password.PasswordBme$WLListener_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)Is there a step I'm missing out? The entry for this message in the documentation suggests calling BEA support.

  • Using JMX to database monitoring

    Hello, I'm a software developer, and I want to use JMX to database monitoring.
    I did sth to see in jconsole some data from our database, but Ive got problem to
    refresh it. I mean when jconsole is running and somebody makes changes in DB
    how can I see it on monitor ... ?? Something like dynamic MBeans ??
    second question - is it possible to use MXBean in java 1.5 ??
    thanks for answers
    PS. we are using Java 5 unfortunetelly

    oh I should say that:
    -I'm using jconsole to monitoring jobs i DB;
    -every job has its own MBean;
    -of course if some changes in already defined jobs occure - its no problem;
    Problem is when somebody create/delete jobs ... how can I using refresh button on jconsole get information about new job ?

  • Over of using Database Resource Manager

    Hi All,
    I am currently, doing a research on Database Resource Manager for implementing it in one of the Warehouse project database. Before, implementing it I would like to know few things. My Question is:
    Q. Does using Database Resource Manager cause any overhead? Any extra background process? any extra CPU Usage overhead? Any resource cost of using Database Resource Manager? Does it have any impact on resources and does it impact performance of the database?

    Hi Madrid,
    Thank you for your reply. Currently, we are looking into to implement Resource Manager in a dataware house environment because there are some ad-hoc users who execute really bad queries which puts lot of load on the database server which in turn slows down the performance. And there are few other reasons too. I not the primary for that environment though. This Resource Manager came up we thought that it might help us in controlling the ad-hoc users bad queries and also the environment.
    I have one more question in regards to resource manager. I have written a shell script which generates a report for stats of a resource plan from V$RSRC_CONSUMER_GROUP - which has stats data. But my concern is it stores historical stats too. For example, I have implemented resource manager and ran some queries and generated report and terminated all the sessions.
    Next day when I again run some queries and generate a report it gives stats combined with previous days stats. Is there any solution for this? So, that I can generate a report for stats at a point of time. For OEM I can reset the stats and get most current stats but this is not the case with the view I mentioned above. Please let me know if there is any other alternative for this. Hope you got my question.

  • Monitoring WebLogic Using JMX

    Hi, I'm writing an application to monitor WebLogic (busy threads, heap size etc.), using JMX. I wanted to know if there's a way to create a connection and use it each time I want to get the info from the server (in order minimize the monitoring overhead on performance), or should I create a new connection each time?
    Thanks,
    Y.

    Hi,
    Thanks for answering.
    So if I understand correctly, I need to get the MBeanHome once:
    home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    and then to retrieve each time the MBean that I need:
    home.getMBeansByType("JVMRuntime");
    Is that correct?
    Thanks!

  • Best practice to monitor 10gR3 OSB performance using JMX API?

    Hi guys,
    I need some advice on the best practice to monitor 10gR3 OSB performance using JMX API.
    Jus to show I have done my home work, I managed to get the JMX sample code from
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/example.html#wp1109828
    working.
    The following is the list of options I am think about:
    * Set up: I have a cluster of one 1 admin server with 2 managed servers, which managed server runs an instance of OSB
    * What I try to achieve:
    - use JMX API to collect OSB stats data periodically as in sample code above then save data as a record to a
         database table
    Options/ideas:
    1. Simplest approach: Run the modified version of JMX sample on the Admin Server to save stats data to database
    regularly. I can't see problems with this one ...
    2. Use WLI to schedule the Task of collecting stats data regularly. May be overkill if option 1 above is good for production
    3. Deploy a simple web app on Admin Server, say a simple servlet that displays a simple page to start/stop and configure
    data collection interval for the timer
    What approach would you experts recommend?
    BTW, the caveats os using JMX in http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/concepts.html#wp1095673
    says
         Oracle strongly discourages using this API in a concurrent manner with more than one thread or process. This is because a reset performed in
         one thread or process is not visible to another threads or processes. This caveat also applies to resets performed from the Monitoring Dashboard of
         the Oracle Service Bus Console, as such resets are not visible to this API.
    Under what scenario would I be breaking this rule? I am a little worried about its statement
         discourages using this API in a concurrent manner with more than one thread or process
    Thanks in advance,
    Sam

    Hi Manoj,
    Thanks for getting back. I am afraid configuring aggregation interval from Dashboard doesn't solve problem as I need to collect stats data of endpoint URI or in hourly or daily basis, then output to CSV files so line graphs can be drawn for chosen applications.
    Just for those who may be interested. It's not possible to use SQL to query database tables to extract OSB stats for a specified time period, say 9am - 5pm. I raised a support case already and the response I got back is 'No'.
    That means using JMX API will be the way to go :)
    Has anyone actually done this kind of OSB stats report and care to give some pointers?
    I am thinking of using 7 or 1 days as the aggregation interval set in Dashboard of OSB admin console then collects stats data using JMX(as described in previous link) hourly using WebLogic Server JMX Timer Service as described in
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jmxinst/timer.html instead of Java's Timer class.
    Not sure if this is the best practice.
    Thanks,
    Regards,
    Sam

  • No connection left in WebLogic database pool

    Hi,
    We have a J2EE business web application that runs in WebLogic. We noticed in application log files errors messages that seems like  "No resource available in db pool", it means all the connection objects (to Oracle database) are used. Then the application is unstable and unseable.
    I think the maximum number of  connections configured in Weblogic pool has been reached due to an increase of users and activity. But when the workload decreases the application is still out of service. It seems connections objects are not relased to the pool. What can be the explanation for this issue ? Normally it is managed by the container (EJB3 for the business tier).
    Once the limit of the pool is reached it is necessary to restart the server to solve this kind of error ?
    Thanks a lot.

    Hi,
    First:
    I guess you should check with your DBA about how many allowed concurrent session of the data base connection for your user. After this, check your data source file configuration according it.
    Second:
    I guess you should check if your application open another session connection with data base.
    e.g.
    - Another file configuration opens connection without to watch and lookup your configuration in data source file;
    - Another code opens JDBC directly without to watch and lookup your configuration in data source file.

  • Configuring kodo-jdo-2.5.3 with weblogic 8.1 using JCA

    Hi there.
    I am trying to configure kodo-jdo-2.5.3 in WebLogic 8.1 using JCA method.
    The issue I got was that I got DB authentication failed. I have tested my
    JDBC connect -- working fine, I have turned on JDBC log in WL, it looks
    fine.
    It looks like that KODO was still trying to create its own JDBC connection
    even I have specified
    <config-property>
    <description>The JNDI name of the connection factory to use for
    obtaining connections.</description>
    <config-property-name>ConnectionFactoryName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>datasource.oracle9</config-property-value>
    </config-property>
    "datasource.oracle9" is the JNDI name of my data source.
    The error message is the following. I will really appreciate your help.
    Melvin
    Oct 19, 2003 4:20:53 AM com.solarmetric.kodo.impl.jdbc.RegisterListener
    registerClass
    SEVERE: com.solarmetric.kodo.runtime.FatalDataStoreException:
    java.sql.SQLException: User: melvin, f
    ailed to be authenticated. [code=0;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    com.solarmetric.kodo.runtime.FatalDataStoreException:
    java.sql.SQLException: User: melvin, failed to
    be authenticated. [code=0;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:58)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:212)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClassInternal(JDBCPe
    rsistenceManagerFactory.java:455)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClass(JDBCPersistenc
    eManagerFactory.java:338)
    at
    com.solarmetric.kodo.impl.jdbc.RegisterListener.registerClass(RegisterListener.java:53)
    at
    javax.jdo.spi.JDOImplHelper.registerClass(JDOImplHelper.java:269)
    at samples.j2ee.Car.<clinit>(Car.java)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at samples.j2ee.ejb.CarBean.class$(CarBean.java:11)
    at samples.j2ee.ejb.CarBean.list(CarBean.java:136)
    at
    samples.j2ee.ejb.CarEJB_pgfrtx_EOImpl.list(CarEJB_pgfrtx_EOImpl.java:201)
    at jsp_servlet.__index._jspService(__index.java:170)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
    a:1053)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:6310)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
    22)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    NestedThrowablesStackTrace:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    weblogic.jdbc.common.internal.RmiDataSource.getSubject(RmiDataSource.java:257)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:188)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.DataSourceConnector.getConnection(DataSourceConnec
    tor.java:63)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:179)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClassInternal(JDBCPe
    rsistenceManagerFactory.java:455)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClass(JDBCPersistenc
    eManagerFactory.java:338)
    at
    com.solarmetric.kodo.impl.jdbc.RegisterListener.registerClass(RegisterListener.java:53)
    at
    javax.jdo.spi.JDOImplHelper.registerClass(JDOImplHelper.java:269)
    at samples.j2ee.Car.<clinit>(Car.java)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at samples.j2ee.ejb.CarBean.class$(CarBean.java:11)
    at samples.j2ee.ejb.CarBean.list(CarBean.java:136)
    at
    samples.j2ee.ejb.CarEJB_pgfrtx_EOImpl.list(CarEJB_pgfrtx_EOImpl.java:201)
    at jsp_servlet.__index._jspService(__index.java:170)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
    a:1053)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:6310)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
    22)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    <Oct 19, 2003 4:20:53 AM CDT> <Info> <EJB> <BEA-010051> <EJB Exception
    occurred during invocation fr
    om home: samples.j2ee.ejb.CarEJB_pgfrtx_HomeImpl@1c059f6 threw exception:
    com.solarmetric.kodo.runti
    me.FatalDataStoreException: java.sql.SQLException: User: melvin, failed to
    be authenticated. [code=0
    ;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    com.solarmetric.kodo.runtime.FatalDataStoreException:
    java.sql.SQLException: User: melvin, failed to
    be authenticated. [code=0;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:58)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:212)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getDictionary(JDBCStoreManager.ja
    va:753)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1023)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1037)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCExtent.getResultList(JDBCExtent.java:71)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCExtent.getIterator(JDBCExtent.java:47)
    at
    com.solarmetric.kodo.runtime.ExtentImpl$MultipleSubclassIterator.newIterator(ExtentImpl.j
    ava:344)
    at serp.util.MultiIterator.setIterator(MultiIterator.java:74)
    at serp.util.MultiIterator.hasNext(MultiIterator.java:29)
    at serp.util.LookaheadIterator.setNext(LookaheadIterator.java:133)
    at
    serp.util.LookaheadIterator.initialize(LookaheadIterator.java:118)
    at serp.util.LookaheadIterator.hasNext(LookaheadIterator.java:48)
    at serp.util.MultiIterator.setIterator(MultiIterator.java:73)
    at serp.util.MultiIterator.hasNext(MultiIterator.java:29)
    at
    com.solarmetric.kodo.runtime.ExtentImpl$TransactionAwareIterator.hasNext(ExtentImpl.java:
    403)
    at samples.j2ee.ejb.CarBean.list(CarBean.java:138)
    at
    samples.j2ee.ejb.CarEJB_pgfrtx_EOImpl.list(CarEJB_pgfrtx_EOImpl.java:201)
    at jsp_servlet.__index._jspService(__index.java:170)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
    a:1053)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:6310)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
    22)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    NestedThrowablesStackTrace:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    weblogic.jdbc.common.internal.RmiDataSource.getSubject(RmiDataSource.java:257)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:188)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.DataSourceConnector.getConnection(DataSourceConnec
    tor.java:63)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:179)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getDictionary(JDBCStoreManager.ja
    va:753)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1023)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1037)

    Alex Robbins wrote:
    Try removing <authentication-mechanism> from the ra.xml file of the Kodo
    JCA connector. Then it won't try to authenticate against the WL security
    realm. (If you want connector-level authentication as well as DB-conn
    authentication i think you'll have to configure WL security. I don't know
    how). This worked for me.
    Alex.Hi, The following is the ra.xml, please see any problem.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector
    1.0//EN' 'http://java.sun.com/dtd/connector_1_0.dtd'>
    <connector>
    <display-name>KodoJDO</display-name>
    <description>Resource Adapter for integration of the Kodo Java Data
    Objects (JDO) implementation with J2EE 1.3 compliant managed
    environments</description>
    <icon>
    <small-icon>kodo16.gif</small-icon>
    <large-icon>kodo32.gif</large-icon>
    </icon>
    <vendor-name>Solarmetric, Inc.</vendor-name>
    <spec-version>1.0</spec-version>
    <eis-type>jdo</eis-type>
    <version>1.0</version>
    <license>
    <description>See http://www.solarmetric.com for terms and license
    conditions.</description>
    <license-required>true</license-required>
    </license>
    <resourceadapter>
    <managedconnectionfactory-class>com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl</managedconnectionfactory-class>
    <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
    <connectionfactory-impl-class>com.solarmetric.kodo.impl.jdbc.ee.JDOConnectionFactory</connectionfactory-impl-class>
    <connection-interface>javax.resource.cci.Connection</connection-interface>
    <connection-impl-class>com.solarmetric.kodo.ee.EEPersistenceManager</connection-impl-class>
    <transaction-support>XATransaction</transaction-support>
    <config-property>
    <description>The number of hard references to cached objects that the
    PersistenceManager's cache will retain (in addition to the soft reference
    cache that it maintains). Setting this to a higher value will result in
    more objects being retained in the cache, at the cost of utilizing more
    memory resources. Setting it to -1 will cause the PersistenceManager to
    maintain hard references only. This will result in better performance, but
    can have adverse effects on memory usage.</description>
    <config-property-name>CacheReferenceSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>1000</config-property-value>
    </config-property>
    <config-property>
    <description>The class name of ether the JDBC java.sql.Driver, or an
    instance of a javax.sql.DataSource to use to connect to the data
    source.</description>
    <config-property-name>ConnectionDriverName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The JNDI name of the connection factory to use for
    finding non-transactional connections. If specified, this is the
    connection that will be used for access for obtaining sequence
    numbers.</description>
    <config-property-name>ConnectionFactory2Name</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>jdbc/petshop</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to be passed to
    the JDBC Driver when obtaining a Connection for the ConnectionFactory2
    (which will be used to obtain sequence numbers). Properties are of the
    form "key=value". If a javax.sql.DataSource class is defined in the
    javax.jdo.option.ConnectionDriverName property, then this property will be
    used to set bean-like properties in the DataSource instance upon creation.
    These properties vary depending on the DataSource in use: see the
    documentation for your DataSource for details on the properties to
    use.</description>
    <config-property-name>ConnectionFactory2Properties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The JNDI name of the connection factory to use for
    obtaining connections.</description>
    <config-property-name>ConnectionFactoryName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>PetShopXADataSource</config-property-value>
    </config-property>
    <config-property>
    <description>The password for the user specified in
    ConnectionUserName</description>
    <config-property-name>ConnectionPassword</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to be passed to
    the JDBC Driver when obtaining a Connection. Properties are of the form
    "key=value". If a javax.sql.DataSource class is defined in the
    javax.jdo.option.ConnectionDriverName property, then this property will be
    used to set bean-like properties in the DataSource instance upon creation.
    These properties vary depending on the DataSource in use: see the
    documentation for your DataSource for details on the properties to
    use.</description>
    <config-property-name>ConnectionProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The connection retain mode. Possible options are
    "persistence-manager", "transaction", and "on-demand". Default value is
    "on-demand".</description>
    <config-property-name>ConnectionRetainMode</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>on-demand</config-property-value>
    </config-property>
    <config-property>
    <description>The number of seconds to wait between testing
    connections retrieved from the connection pool. Only valid when using the
    built-in Kodo connection pooling.</description>
    <config-property-name>ConnectionTestTimeout</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>10</config-property-value>
    </config-property>
    <config-property>
    <description>The URL for the data source.</description>
    <config-property-name>ConnectionURL</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The username for the connection listed in
    ConnectionURL.</description>
    <config-property-name>ConnectionUserName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for caching of data loaded
    from the data store. Must implement
    com.solarmetric.kodo.runtime.datacache.DataCache.</description>
    <config-property-name>DataCacheClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.DataCacheClass upon
    initialization.</description>
    <config-property-name>DataCacheProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the default class to use for mapping
    persistent classes to the database. Must extend
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.</description>
    <config-property-name>DefaultClassMappingClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping</config-property-value>
    </config-property>
    <config-property>
    <description>The number of seconds that data in the data cache is
    valid for. A value of 0 or less means that by default, cached data does
    not time out.</description>
    <config-property-name>DefaultDataCacheTimeout</config-property-name>
    <config-property-type>java.lang.Double</config-property-type>
    <config-property-value>0.0</config-property-value>
    </config-property>
    <config-property>
    <description>The number of rows that will be pre-fetched when an
    element in a Query result is accessed.</description>
    <config-property-name>DefaultFetchBatchSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>10</config-property-value>
    </config-property>
    <config-property>
    <description>The threshold below which result lists will be
    completely instantiated upon their creation. A value of -1 will always
    force all results to be completely instantiated, thus disabling lazy
    result loading.</description>
    <config-property-name>DefaultFetchThreshold</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>30</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the default class to use for managing
    subclass indicator columns. Must implement the
    com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProvider interface. See
    custom class indicator documentation for more information about subclass
    providers.</description>
    <config-property-name>DefaultSubclassProviderClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in
    com.solarmetric.kodo.impl.jdbc.DefaultSubclassProviderClass upon
    initialization.</description>
    <config-property-name>DefaultSubclassProviderProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The DBDictionary to use for this configuration. This is
    auto-detected based on the setting of javax.jdo.option.ConnectionURL, so
    you need only set this to override the default with your own custom
    DBDictionary or if you are using an unrecognized driver.</description>
    <config-property-name>DictionaryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of name-value properties
    settings to pass to the dictionary defined by
    com.solarmetric.kodo.impl.jdbc.DictionaryClass. Many of the DBDictionary
    options are automatically configured by concrete subclasses of
    GenericDictionary. The defaults can, however, be overridden by using this
    property.</description>
    <config-property-name>DictionaryProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then Kodo JDO will allow the use of query
    filter extensions. See the query extensions documentation for more
    information.</description>
    <config-property-name>EnableQueryExtensions</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of fetch group names that
    PersistenceManagers will load by default when loading data from the
    database.</description>
    <config-property-name>FetchGroups</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then all fields of all classes in a given
    inheritance hierarchy will by default map into the least-derived type's
    default primary table. If false then a new default primary table will be
    created for each class in the inheritance hierarchy, and each type's
    declared fields will map to that table by default.</description>
    <config-property-name>FlatInheritanceMapping</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>A String value indicating whether or not Kodo should
    automatically flush modifications to the data store before executing
    queries.</description>
    <config-property-name>FlushBeforeQueries</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>with-connection</config-property-value>
    </config-property>
    <config-property>
    <description>If false, then the JDO implementation must consider
    modifications, deletions, and additions in the PersistenceManager
    transaction cache when executing a query inside a transaction. Else, the
    implementation is free to ignore the cache and execute the query directly
    against the data store.</description>
    <config-property-name>IgnoreCache</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The license key provided to you by SolarMetric. Keys
    are available at www.solarmetric.com</description>
    <config-property-name>LicenseKey</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>xxxx</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for obtaining a reference
    to the transaction manager in an enterprise environment. Must implement
    the com.solarmetric.kodo.ee.ManagedRuntime interface.</description>
    <config-property-name>ManagedRuntimeClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.ee.AutomaticManagedRuntime</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.ManagedRuntimeClass upon
    initialization.</description>
    <config-property-name>ManagedRuntimeProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The maximum number of connections to pool. If all of
    these are in use, then PersistenceManager instances must wait for a
    connection to become available. This option has been removed from the
    specification, but we still use the javax.jdo.option for backwards
    compatibility.</description>
    <config-property-name>MaxPool</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>200</config-property-value>
    </config-property>
    <config-property>
    <description>The minimum number of connections to keep in the pool.
    This option has been removed from the specification, but we still use the
    javax.jdo.option for backwards compatibility.</description>
    <config-property-name>MinPool</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>2</config-property-value>
    </config-property>
    <config-property>
    <description>The number of milliseconds to wait for a pooled
    connection before throwing an exception if the pool is empty. This option
    has been removed from the specification, but we still use the
    javax.jdo.option for backwards compatibility.</description>
    <config-property-name>MsWait</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>30000</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then the application plans to have multiple
    threads simultaneously accessing a single PersistenceManager, so measures
    must be taken to ensure that the implementation is thread-safe. Otherwise,
    the implementation need not address thread safety.</description>
    <config-property-name>Multithreaded</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then it is possible to read persistent data
    outside the context of a transaction. Otherwise, a transaction must be in
    progress in order read data.</description>
    <config-property-name>NontransactionalRead</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then it is possible to write to fields of a
    persistent-nontransactional object when a transaction is not in progress.
    If false, such a write will result in a JDOUserException.</description>
    <config-property-name>NontransactionalWrite</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>Selects between optimistic and pessimistic (data store)
    transactional modes.</description>
    <config-property-name>Optimistic</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class that the
    PersistenceManagerFactory should create when creating a new
    PersistenceManagerImpl. Must extend
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.</description>
    <config-property-name>PersistenceManagerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the concrete implementation of
    javax.jdo.PersistenceManagerFactory that
    javax.jdo.JDOHelper.getPersistenceManagerFactory () should create. For
    Kodo JDO, this should be
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory or
    com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory, or a custom
    extension of one of these types.</description>
    <config-property-name>PersistenceManagerFactoryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.PersistenceManagerClass upon
    initialization.</description>
    <config-property-name>PersistenceManagerProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of classes that will be
    initialized whenever a new PersistenceManager is instantiated. This can be
    used to get around issues with application identity classes not being
    associated with their respective persistent classes.</description>
    <config-property-name>PersistentTypes</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use to proxy second class
    objects in managed instances. Must implement
    com.solarmetric.kodo.util.ProxyManager.</description>
    <config-property-name>ProxyManagerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.util.SimpleProxyManager</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.ProxyManagerClass upon
    initialization.</description>
    <config-property-name>ProxyManagerProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for caching of queries
    loaded from the data store. Must implement
    com.solarmetric.kodo.runtime.datacache.QueryCache.</description>
    <config-property-name>QueryCacheClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.runtime.datacache.query.QueryCacheImpl</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.QueryCacheClass upon
    initialization.</description>
    <config-property-name>QueryCacheProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A list of query filter listeners to add to the default
    list of extensions. Ignored if com.solarmetric.kodo.EnableQueryExtensions
    is false.</description>
    <config-property-name>QueryFilterListeners</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for communicating commit
    information among JVMs. Must implement
    com.solarmetric.kodo.runtime.event.RemoteCommitProvider.</description>
    <config-property-name>RemoteCommitProviderClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.RemoteCommitProviderClass upon
    initialization.</description>
    <config-property-name>RemoteCommitProviderProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then fields in a persistence-capable object
    that have been changed during a transaction will be rolled back to their
    original values upon a rollback. Otherwise, the values will not be changed
    upon rollback.</description>
    <config-property-name>RestoreValues</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class that will be used as the
    Collection implementation for returning ResultList instances. It must be
    an instance of
    com.solarmetric.kodo.runtime.objectprovider.ResultList.</description>
    <config-property-name>ResultListClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The property string used to configure the instance of
    the ResultListClass.</description>
    <config-property-name>ResultListProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then fields in a persistence-capable object
    that have been read during a transaction must be preserved in memory after
    the transaction commits. Otherwise, persistence-capable objects must
    transition to the hollow state upon commit, meaning that subsequent reads
    will result in a database round-trip.</description>
    <config-property-name>RetainValues</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for generating sequence
    numbers when using data store identity. Must implement the
    com.solarmetric.kodo.impl.jdbc.SequenceFactory interface.</description>
    <config-property-name>SequenceFactoryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass upon
    initialization.</description>
    <config-property-name>SequenceFactoryProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The class names of a SQLExecutionListener
    implementation to install on the SQLExecutionManager.</description>
    <config-property-name>SQLExecutionListenerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of a custom SQLExecutionManager to be used for
    all issuance of SQL to the data store. Must implement
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManager.</description>
    <config-property-name>SQLExecutionManagerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl</config-property-value>
    </config-property>
    <config-property>
    <description>The size of the PreparedStatement cache that is
    maintained in the DataSource implementation.</description>
    <config-property-name>StatementCacheMaxSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>70</config-property-value>
    </config-property>
    <config-property>
    <description>The time, in seconds, after which a JDBC query will be
    aborted if it has not yet returned any values. This value is simply passed
    to the JDBC driver's Statement.setTimeout method; Kodo does not perform
    any addition timeout actions. Note that many JDBC drivers either ignore
    this request, or improperly handle it, which may result in application
    deadlocks.</description>
    <config-property-name>StatementExecutionTimeout</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
    <description>If true, the Kodo runtime will automatically attempt to
    refresh the database schema when persistent classes are referenced,
    allowing the developer to bypass the schematool step. This property is
    only intended to be used for development. As automatic schema migration
    can result in data loss, this feature should never be enabled on a
    production system. Furthermore, this feature has serious adverse affects
    on Kodo's runtime performace. Ensure that it is disabled before doing any
    performance analysis.</description>
    <config-property-name>SynchronizeSchema</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use to store
    persistence-capable objects involved in a PM's transaction cache. Must
    implement com.solarmetric.kodo.runtime.StateManagerSet.</description>
    <config-property-name>TransactionCacheClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.runtime.FifoStateManagerSet</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.TransactionCacheClass upon
    initialization.</description>
    <config-property-name>TransactionCacheProperties</config-property-name>
    <config-property-type>java.lang.String</config-property

  • How to read the messages in the JMS Queue using JMX

    Hi,
              I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
              I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
              I am using Weblogic 8.1 SP4
              Can someone please help me in this regard.
              Thanks,
              Kiran.
              Edited by KGudipati at 10/22/2007 1:22 AM

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • Include or create a view in the database and use this view?

    Well, I need to get related data of the main table from another related tables, so one way to do that is to use the Include method in Entity Framework to get this related data.
    However, I am thinking in another option, create a view in the database and use this view in entity framework. In this way, I avoid the needed of the include, because I think that is expensive in resources. But I am no very sure about that.
    I would like to know if the use of views on entity framework is a good idea to improve the performace or is better to use the include.
    For example, if I use the include I have the advantage that I get only one the main record and all the related data I have in the navigation properties, so the info is more shorted.
    Which is the advanteges and disadvantages of both methods to get related data in entity framework?
    Thank so much.

    Hello ComptonAlvaro,
    >>I would like to know if the use of views on entity framework is a good idea to improve the performace or is better to use the include.
    If your view would use a Join syntax to query master-child relationship tables, it actually is similar with the Include() method which actually results a duplicate records from master table, you could check this
    link for detail description.
    >>Which is the advanteges and disadvantages of both methods to get related data in entity framework?
    One visible difference is that records from Views are not editable by default(if you want edit them, you could refer to this
    blog).
    In your case, my suggestion that you could use the lazying load which will load the matter table once and disable the trace if you only need to display data.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Error while adding oracle database resource to the fail safe group

    Hi,
    we are installaing ERP 6.0 EHP4 , oracle10.2.04  in MSCS
    During the step, Adding the oracle Database Resource to the fail safe
    group , I am getting the error.
    28  13:21:57    ** WARNING : FS-10288: Parameter file C:\oracle\BCP\102\database\init<SID>_OFS.ora is not located on a cluster disk
    29  13:21:57    ** WARNING : FS-10404: The database uses a nonclustered disk in one of the system parameters.  Value of parameter is C:\ORACLE\<SID>\102\RDBMS\AUDIT
    30  13:21:58    ** ERROR : FS-10036: The resource uses disk SAP HDD, which is also used by cluster resource SAP VIP in another group
    31  13:21:58    ** ERROR : FS-10778: The Oracle Database resource provider failed to configure the cluster resource <SID>.WORLD
    32  13:21:58    ** ERROR : FS-10890: Oracle Services for MSCS failed during the add operation
    33  13:21:58    ** ERROR : FS-10497: Starting clusterwide rollback of the operation
    34  13:21:58  FS-10488:<primary node name> : Starting rollback of operation
    35  13:21:58   > FS-10090: Rolling back Oracle Net changes on node <primary node name>
    I am having one local disk C: one shared disk Z: and quorum disk Q:
    Shared disk Z: is already used for SAP<sid> group.
    Regards,
    Joel

    Joeldhanaraj wrote:>
    > Hi,
    >
    > we are installaing ERP 6.0 EHP4 , oracle10.2.04  in MSCS
    >
    > During the step, Adding the oracle Database Resource to the fail safe
    > group , I am getting the error.
    >
    > 28  13:21:57    ** WARNING : FS-10288: Parameter file C:\oracle\BCP\102\database\init<SID>_OFS.ora is not located on a cluster disk
    > 29  13:21:57    ** WARNING : FS-10404: The database uses a nonclustered disk in one of the system parameters.  Value of parameter is C:\ORACLE\<SID>\102\RDBMS\AUDIT
    > 30  13:21:58    ** ERROR : FS-10036: The resource uses disk SAP HDD, which is also used by cluster resource SAP VIP in another group
    > 31  13:21:58    ** ERROR : FS-10778: The Oracle Database resource provider failed to configure the cluster resource <SID>.WORLD
    > 32  13:21:58    ** ERROR : FS-10890: Oracle Services for MSCS failed during the add operation
    > 33  13:21:58    ** ERROR : FS-10497: Starting clusterwide rollback of the operation
    > 34  13:21:58  FS-10488:<primary node name> : Starting rollback of operation
    > 35  13:21:58   > FS-10090: Rolling back Oracle Net changes on node <primary node name>
    >
    > I am having one local disk C: one shared disk Z: and quorum disk Q:
    >
    > Shared disk Z: is already used for SAP<sid> group.
    Hi Joel,
    how about following the advice given by the error message and moving the mentioned files/folder (init<sid>_OFS.ora, AUDIT folder) to a clustered resource disk?
    just my 2 pence...

  • Help needed in using JMX APIs

    Hi
    My requirement is to retrieve the JNDI Names of the JMSConnectionFactory and the JMSQueue using the Connection factory or Queue name. In short im trying out a feasibility of reading the JNDI values for queues from weblogic config.xml instead of reading them from a properties file.
    I developed a sample code using JMX APIs that will fetch the JNDI names of all the JMS destinations available for a particluar JMSServer.
    But is there any way to retrieve the JNDI names based on the queue names .. in general i will give queue name as input and i want the queue's JNDI name as output.
    My sample code is :
    import java.util.Iterator;
    import java.util.Set;
    import javax.management.ObjectName;
    import javax.management.QueryExp;
    import javax.management.Attribute;
    import javax.naming.Context;
    import weblogic.jndi.Environment;
    import weblogic.management.MBeanHome;
    import weblogic.management.RemoteMBeanServer;
    import weblogic.management.WebLogicObjectName;
    import weblogic.management.configuration.JMSQueueMBean;
    import weblogic.management.configuration.JMSServerMBean;
    import weblogic.management.configuration.JMSConnectionFactoryMBean;
    import weblogic.management.configuration.JMSDestinationMBean;
    import weblogic.management.runtime.JMSServerRuntimeMBean;
    import weblogic.management.configuration.JMSDestinationMBean;
    public class JMSAddQueue {// The name of the WebLogic domain, please change this to match the //// name of your installation specific domain name                  
    private static String weblogicDomain = "conciergetestdomain";// The name of the WebLogic server, please change this to match the //// name of your installation specific server name
    public static void main(String[] args) {
         try
              Environment env = new Environment(); 
              env.setProviderUrl("t3://localhost:7001");  
              env.setSecurityPrincipal("system");  
              env.setSecurityCredentials("weblogic");  
              Context ctx = env.getInitialContext();  
              MBeanHome home = (MBeanHome) ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);  
              ctx.close();  
      JMSServerMBean cf = (JMSServerMBean)home.findOrCreateAdminMBean("TESTSERVER","JMSServer", weblogicDomain);
    JMSDestinationMBean[] jdb = cf.getDestinations();
    System.out.println("** The JNDI name is : "+jdb[0].getJNDIName());
    catch (Exception e) {
    e.printStackTrace();
    }Is there any way to retrieve the JNDI names using the queue names ?
    Thanks
    Arun B

    I will send up an alert for you, Colin. Even though I use iTunes for Mac, troubleshooting it isn't my forté.

Maybe you are looking for