ThreadPoolExecutor in a JEE Application Server

Our application runs inside a jee application server.
We have tasks (implemented as a pojo) that need to be queued and executed by asynchronous threads.
We came across the new java.util.concurrent.ThreadPoolExecutor,
which seems to be exactly what we need.
However, as far as we know threads should be created ONLY by the jee application server.
Does this mean we can't use the ThreadPoolExecutor class in a jee application server?
If so what is the best practise for queueing tasks that need to be executed by a configurable pool of worker threads?
p.s
We are aware that JMS is also an option, but it entails a bit of an overhead in our case because the tasks are INTERNAL to the local application server ( so there is no need for messaging between 2 application servers).
thanks
John

JMS is certainly a solution to this problem.
JMX service MBeans are also a solution. they are a technology which was sort of (poorly) adopted into j2ee without a lot of specification about how to control them (just that they are there and can be used). on jboss, there are some proprietary extensions which make it very easy to setup a JMX MBean. i'm sure other app servers have similar facilities. anyway, MBeans do not have the concurrency restrictions of EJB's as they are singleton services, so that is where i would put such a worker thread pool.

Similar Messages

  • ThreadPoolExecutor in JEE application server

    Our application runs inside a jee application server.
    We have tasks (implemented as a pojo) that need to be queued and executed by asynchronous threads.
    We came across the new java.util.concurrent.ThreadPoolExecutor,
    which seems to be exactly what we need.
    However, as far as we know threads should be created ONLY by the jee application server.
    Does this mean we can't use the ThreadPoolExecutor class in a jee application server?
    If so what is the best practise for queueing tasks that need to be executed by a configurable pool of worker threads?
    p.s
    We are aware that JMS is also an option, but it entails a bit of an overhead in our case because the tasks are INTERNAL to the local application server ( so there is no need for messaging between 2 application servers).
    thanks
    John

    Hi John,
    One alternative is to use the EJB Timer Service. It allows you to create either a single-action
    or periodic timer that will call into a stateless session bean (or MDB) when it expires.
    Also, regarding the use of JMS, whether the processing of the message entails more than one
    JVM or not is an implementation detail. There's no requirement that the JMS service itself
    be located outside the application server JVM. If the producer and consumer are in the
    same JVM it's perfectly legal for the implementation to process everything locally. In fact,
    that's the default implementation in the Java EE SDK. Of course, there are more
    sophisticated topologies that come into play for high availability and cluster solutions.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Possible bug in JEE Application Server Library MP?

    The Beanspy Alert monitor reports alerts with missing data. See example below, specifically the {} returned parameters appear empty/incorrect.
    Application server connection lost
    Alert Description
    Source:
    Full Path Name:
    Alert Monitor:
    BeanSpy
    Created:
    The Health Service lost the connection to BeanSpy on port {2} to the machine {1} for the application server ID '{0}'.

    So the next step I took was taking a deep dive into the JBoss.Monitored.Configuration.Discovery scripts and I found that the script tries to find and/or create registry keys about its discovered Jboss instances.
    The key being created is: HKLM\Software\Microsoft\Microsoft Operations Manager\3.0\Modules\{GUID}\.\Script\PersistedDiscovery
    In that key, values are stored called HTTP and HTTPS.
    The persistedDiscovery key is deleted and recreated when you stop the Microsoft Monitoring Agent service and/or flush the health state cache. Thus manually adding the values is no use.
    The HTTP and HTTPS values in a Jboss7 instance running domain mode cannot be retrieved because the port configuration is done at the Jboss domain controller and 'streamed' to the Jboss domain hosts.
    In JBoss 5 instance however I see HTTP and HTTPS values being inserted into the registry. In a few cases incorrect information about ports is found and added to the registry.
    In the Jboss discovery vbs I found the pieces for Jboss5:
    ' Get the HTTP & HTTPS ports of the JBoss 5 installation that runs a specific configuration 
    ' Do this by adding the offset for the port binding to the base ports found in the XML file 
    ' bindings-jboss-beans.xml located in <configuration>\conf\bindingservice.beans\META-INF\
    Apparantly what is written in this file does not actually reflect the running config.
    For Jboss7 it appears quite a bit more complex (especially running domain mode):
    Step1:
    ' Get the HTTP and HTTPS ports for a JBoss 7 or Wildfly installation that is running in domain mode 
    ' In order to get the HTTP Ports we must first retrieve the group that the server belongs too, as well as the port offset for each server 
    ' These values both resiode within the host.xml file
    Step2:
    ' We then look within domain.xml to find the profile reference based on the group name that we retrieved from host.xml 
    ' After the profile reference we then can find the socket-bindings for http and https ports
    While the information is there, these values are not added to the registry.
    Thus, so far the script is looking in the right place to find the used ports for that particular Jboss7 Service, yet the monitor for the BeanSpy is not using that port to contact the BeanSpy.
    My investigation continues...

  • JEE application - Maven repository server

    I'm developing JEE application with Maven based build system. Planning to use some maven repository server(artifactory from jFrog or Archiva). My basic question is, none of them store the jars(artfacts we upload to repository server) in file system. They use Derby or providing other DB option. What is the value add going for DB to store the artifacts instead of file system? Is there any maven repository server based on file system? I hope file system pretty much sufficient to store & retrieve the artifacts. Any ideas/pointers? Thanks in advance for the help.

    Any answers? Thanks.

  • Inserting data into MS SQL server 2000/2005 - JEE application

    Hello everyone,
    Looking at the Tutorial, roster, under ejb, it uses EntityManager and persistence to insert and access data from the, what i presume the Java DB. So i tried it with my applications. I get no errors when I insert the data. Only that it is not going into the DB, which is an external database, MS SQL server. Does this mean I can only insert and access data from the database through sql statements?
    Help!
    Thanks
    eve

    Hello everyone,
    I have made progress on this. And if anyone requires more details check this website:
    http://www.webagesolutions.com/knowledgebase/javakb/jkb006/index.html
    Also please check your firewalls when dealing with external DB. For example, the windows firewall blocks the server from access MS server DB. So in an actual of fact, my above problem was working, only that it was probably directing data to the Java DB included in the application server 9.
    The progress so far, is good. The persistence xml seems to create the Tables into the database. But it does not enter data into the database. Below is the error I get:
    java.lang.ClassCastException: com.sun.gjc.spi.DataSource
    at productinfor.AppClientMachines$saveListener.actionPerformed(AppClientMachines.java:138)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:5501)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
    at java.awt.Component.processEvent(Component.java:5266)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3968)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1778)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Aslo the error is point to this in my client:
    Machinesbean sebean=(Machinesbean)ctx.lookup("jdbc/ProductDetailsDB");
    And below is the xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="PRODUCTINFOR-ejbPU" transaction-type="JTA">
    <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
    <jta-data-source>jdbc/ProductDetailsDB</jta-data-source>
    <properties>
    <property name="toplink.ddl-generation" value="create-tables"/>
    </properties>
    </persistence-unit>
    </persistence>
    Somebody also suggestion I make my persistence xml file as follows to use MS server 2000/2005:
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
    <persistence-unit name="PRODUCTDETAILS3-ejbPU">
    <jta-data-source>jdbc/ProductDetailsDB</jta-data-source>
    <properties>
    <!--Use the java2db feature -->
    <property name="toplink.ddl-generation" value="drop-and-create-tables"/>
    <!-- Generate the sql specific to MS SQL database -->
    <property name="toplink.platform.class.name"
    value="oracle.toplink.essentials.platform.database.SQLServerPlatform"/>
    </properties>
    </persistence-unit>
    </persistence>
    Any suggestions will help. If not I hope this helps somebody else. Thanks for all your help
    eve
    Message was edited by:
    evepokua

  • How to integrate Oracle Portal running on Oracle Application Server 10.1.2

    I have an Oracle Portal running on a Oracle Application Server 10.1.2.
    Portal is responsible ( along with OID ) for the users authentication and authorization.
    There is a new JEE application that was developed recently, which the Portal users must have access to.
    HOW can I put a link into a page of the Portal, that redirects the portal user to a new browser window displaying my new application?
    HOW can this new application, running in a separate weblogic 11g (10.3.5) server, automatically authenticate with the same username/password previously authenticated when the user logged into the portal?
    Any ideas?
    I´ve already thought in a bunch of ways to do it:
    - put a link into the portal with a sessionId, then when opening the new app, it automatically tries to use the same session. How can I configure this session id during the creation of the portal's page? How can I use it from the new app to use the same session?
    - put a link into the portal with a userid, then when opening the new app, it automatically tries to authenticate using a different authentication provider configurated in WL, which points to Portal´s OID. In this situation, how can I ensure that the user is already logged in and the session has not timed out?
    - Should I use OSSO?
    - Should I use OAM?
    Any help would be appreciated!
    Murilo

    Hi Murilo,
    A portletized version of your J2EE app would probably have been ideal for your purpose as it would handle both authentication (through SSO) and session information (through Portal framework as the framework can pass session information to the provider/producer). This would require changes to the application however.
    Easiest approach would be to use mod_osso to protect your J2EE application. SSO would then handle the authentication for your Portal and your J2EE application.
    Thanks,
    EJ

  • Apex Listener vs. Oracle Application Server... advantages?

    Are there advantages to installing Apex Listener over using an existing Oracle Application Server instance to serve Apex applications?
    We have an existing application server instance in production. Would introducing Apex Listener and the extra overhead be of any advantage?
    Thanks in advance for your thoughts.

    Hello "Portal Dude",
    Are there advantages to installing Apex Listener over using an existing Oracle Application Server instance to serve Apex applications?APEX Listener introduces some additional features, such as Resource Templates, but lacks some others. Some people might want to migrate from OAS to another JEE Container that doesn't come along with a OHS/mod_plsql. Depending on the JEE Container, you could use AJP for load balancing, avoiding plain HTTP through a firewall, etc.
    Would introducing Apex Listener and the extra overhead be of any advantage?The "extra overhead" may be smaller than you think. If you don't need the HTTP_Server component any longer, but can just deploy APEX Listener on the OC4J of your OAS, you might even save some bytes.
    For several other aspects, there have been a few posts on that topic in the past:
    {thread:id=1100122}
    {thread:id=1555908}
    {thread:id=1594158}
    If there's anything you don't find in either the posts or the documentation, don't hesitate to ask.
    -Udo

  • Oracle Application Server 10g (Application Running)

    Dear All Sir/Madam
    It is my humble request that please tell me how to run Application on Application Server 10g.
    I developed my Application in Oracle developer suit 10g (build internet appliacation), and I am using *10g database*.
    Now please tell me the complete procedure who to configure oracle application server 10g on linux.

    Hello Ghulam,
    Notice that you can deploy different kind of applications within the Application Server framework, e.g. JEE applications, PL/SQL applications, Forms Applications etc. Based on what you initially mentioned, it seems that your have developed a Forms application. The above document reference refers to Application Server 10.1.3, which was a JEE / SOA release. You are probably better off with the [url http://download.oracle.com/docs/cd/B14099_18/web.1012/b14032/toc.htm]Forms Deployment Guide.
    One note : Application Server 10.1.2.x is soon to be desupported. Consider to move to version [url http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html]11.1.2 !
    Thanks,
    EJ

  • Install and configure report service on Oracle Application Server 10g

    i want to know how to install and configure report service on Oracle Application Server 10g Release 3 (10.1.3.1.0)
    Thanks

    the case is that we developed an ADF Application, so we want to deploy it on the latest version of Oracle Application server.
    our application communicate with Oracle reports (run oracle reports from our Application) as there are no Oracle report products for JEE Application.
    so if there are not report service that can run on Oracle Application Server 10g Release 3 (10.1.3.1.0),
    what is the other choices that oracle supports that can help us in this case ???

  • Post Installation - Error while starting application Server(Weblogic10.3.5)

    I have installed the Webcenter Sites and can access the home ( http://localhost:7101/servlet/wem/fatwire/home ) .
    However , I am getting the below error . The application server is weblogic 10.3.5 ( Jdeveloper Integrated Weblogic Server ) .
    I have Observed the below error in the application server console .
    Can anyone please help to over come this error ?
    2012-07-09 18:23:41,889 ERROR [com.fatwire.logging.cs] - <Exception reading url from http://127.0.0.1:7101/servlet/ContentServer?pagename=OpenMarket%2FXcelerate%2FSearch%2FEvent>java.net.ConnectException: Tried all: '1' addresses, but could not connect over HTTP to server: '127.0.0.1', port: '7101'
    at weblogic.net.http.HttpClient.openServer(HttpClient.java:333)
    at weblogic.net.http.HttpClient.openServer(HttpClient.java:425)
    at weblogic.net.http.HttpClient.New(HttpClient.java:252)
    at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:189)
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:374)
    at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:37)
    at java.net.URL.openStream(URL.java:1010)
    at COM.FutureTense.Util.ftUtil._readFromInputStream(ftUtil.java:826)
    at COM.FutureTense.Util.ftUtil.readByteURL(ftUtil.java:730)
    at COM.FutureTense.Util.ftUtil.readURL(ftUtil.java:696)
    at COM.FutureTense.Platform.SystemEvents.RequestEventItem.execute(RequestEventItem.java:58)
    at COM.FutureTense.Platform.SystemEvents.AbstractEventItem.run(AbstractEventItem.java:170)
    at COM.FutureTense.Platform.SystemEvents.FileSystemBasedClusteredEventExecutor$LockingCallable.call(FileSystemBasedClusteredEventExecutor.java:232
    at COM.FutureTense.Platform.SystemEvents.FileSystemBasedClusteredEventExecutor$LockingCallable.call(FileSystemBasedClusteredEventExecutor.java:198
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    <Protocol> <setPropertiesInternal> down_thread was deprecated and is ignored
    <Protocol> <setPropertiesInternal> up_thread was deprecated and is ignored
    .....

    If WCS is indeed installed on http://localhost:7101 and it can't see http://127.0.0.1:7101 then you should check to see if there is any restriction on the app server, OS, or firewall (though these requests probably aren't leaving the box) that could be preventing requests of this sort. You're seeing the event engine trying to talk to the event host.

  • Sun Java Systems Application Server 9 connection-pool ping error

    Hi folks, I tried creating a javax.sql.DataSource MSSQL database connection pool with the jdts type 4 driver I got from sourceforge, and each ping operation I tried gave me the following error message:
    Operation 'pingConnectionPool' failed in 'resources' Config MBean.
    Target exception message: No PasswordCredential found.
    My connection properties are:
    user = sa
    port = 1433
    databaseName = FlyMyWayDB
    serverName = digitanx-chalu
    What does this exception mean, what are the possible causes, and how do I go about resolving it.
    I will really appreciate any help, thanks.

    As long as the JDBC Driver (jar file) for the connection pool(s) you want to create are in the app server's lib directory, you shouldn't have a problem creating both those and the JDBC Resources from the admin console (web app). So far, I am able to bundle my connection pools and resource connections inside my ejb module under "Server Resources" within my enterprise (.ear) application in Netbeans 5.5. When I deploy it, the whole thing works pretty sweet. I haven't gotten to the stage where I will want to migrate the jee application to my dedicated server yet, but I suspect that if my dedicated (remote) app server doesn't want to play nice with my netbeans when I try and set it up as a new server under my "Server Manager", then I'll likely try to simply deploy the .ear file from within the admin console, using the "browse" (for .ear) option (likely the better/preferred practice for production anyhow). Thanks for the dukes! My very first ones ever!

  • Application Server not getting Started..

    Hi Experts
    I have recently installed the AS preview version. up till installation every thing was fine. but when starting the server i am waiting for the start up its still not up from last night. What things i should check..? or what might be the problem i have JDK 1.6 is this can be a problem.?
    Thanks & Regards
    Jeetendra

    trc file: "D:\usr\sap\CE1\J00\work\dev_jstart", trc level: 1, release: "711"
    *  ACTIVE TRACE LEVEL           1
    *  ACTIVE TRACE COMPONENTS      All, egi

    F [Thr 2808] Fri Jul 10 23:44:18 2009
    F  [Thr 2808] *** ERROR => SfCheckJeeVersion: Cannot find JEE application directory D:\usr\sap\CE1\J00\j2ee\cluster\apps. [sfxxmain.cpp 857]
    F  ********************************************************************************
    F  Java environment properties (D:\usr\sap\CE1\J00\work\jstart.jvm)
    F    root directory    : D:\usr\sap\CE1\SYS\exe\jvm\NTI386\sapjvm_5.1.024/sapjvm_5
    F    vendor            : SAP AG
    F    version           : 1.5.0_14
    F    cpu               : x86
    F    java vm type      : server
    F    java vm version   : 5.1.024
    F    jvm library name  : jvm.dll
    F    library path      : D:\usr\sap\CE1\SYS\exe\jvm\NTI386\sapjvm_5.1.024\sapjvm_5\jre\bin\server;D:\usr\sap\CE1\SYS\exe\jvm\NTI386\sapjvm_5.1.024\sapjvm_5\jre\bin
    F    executable path   : D:\usr\sap\CE1\SYS\exe\jvm\NTI386\sapjvm_5.1.024\sapjvm_5\bin
    F  ********************************************************************************
    F    SAP extensions    : available
    F  ********************************************************************************
    I  [Thr 2808] MtxInit: 30002 0 2
    trc file: "D:\usr\sap\CE1\J00\work\dev_jstart", trc level: 1, release: "711"
    *  ACTIVE TRACE LEVEL           1
    *  ACTIVE TRACE COMPONENTS      All, egi
    F  [Thr 2808] *** LOG => connected to Enqueue Server.
    F  [Thr 2808] *** WARNING => SfCMsClient::doAttach: Operation MS_CHANGE_IP failed (rc = 24 MSOP_EINVAL) [sfxxmsc.hpp  911]

  • JEE MP: Authoring JEE Application Availability Monitor

    Hi experts,
    We've imported the JEE WebSphere MP's, completed discovery, enabled deep monitoring, and now have some issues authoring custom "JEE Application Availability Monitoring".
    In the wizard on the "MBean to Monitor" screen we use the MBean name:
    WebSphere:j2eeType=JDBCResource,*, as we'd like to monitor some JDBC Connection Pool stats.
    On the next screen in the wizard, "Health State", we select the xPath:
    MBeans/MBean[@Name="javax.management.modelmbean.RequiredModelMBean" and @objectName="WebSphere:J2EEServer=server1,Server=server1,cell=APPT75WASCell01,j2eeType=JDBCResource,mbeanIdentifier=cells/APPT75WASCell01/resources.xml#builtin_jdbcprovider,name=Derby
    JDBC Provider (XA),node=APPT76WASNode01,platform=dynamicproxy,process=server1,spec=1.0,type=JDBCProvider,version=7.0.0.25"]/Properties/Property[@Name="stats" and @type="com.ibm.ws.pmi.j2ee.JDBCStatsImpl"]
    The problem we have is that ALL of the stats and counters are found within this single Property, as seen below:
    Current value:
    Stats name=Derby JDBC Provider (XA), type=connectionPoolModule
    Stats name=jdbc/DefaultEJBTimerDataSource, type=connectionPoolModule
    name=CreateCount, ID=1, description=The total number of connections that are created., unit=N/A, type=CountStatistic, count=6
    name=CloseCount, ID=2, description=The total number of connections that are closed., unit=N/A, type=CountStatistic, count=5
    name=AllocateCount, ID=3, description=The total number of connections that are allocated., unit=N/A, type=CountStatistic, count=2306
    name=ReturnCount, ID=4, description=The total number of connections that are returned to the pool., unit=N/A, type=CountStatistic, count=2302
    name=PoolSize, ID=5, description=The size of the connection pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=0, highWaterMark=2, current=1, integral=8.3568935E7, lowerBound=0, upperBound=30
    name=FreePoolSize, ID=6, description=The number of free connections in the pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=0, highWaterMark=2, current=1, integral=8.3485336E7, lowerBound=0, upperBound=30
    name=WaitingThreadCount, ID=7, description=The average number of threads that are concurrently waiting for a connection., unit=N/A, type=RangeStatistic, lowWaterMark=0, highWaterMark=0, current=0, integral=0.0
    name=FaultCount, ID=8, description=The number of connection timeouts in the pool., unit=N/A, type=CountStatistic, count=0
    name=PercentUsed, ID=9, description=Average percent of the pool that is in use. The value is based on the total number of configured connections in the ConnectionPool, not the current number of connections., unit=N/A, type=RangeStatistic, lowWaterMark=93,
    highWaterMark=100, current=0, integral=278663.0
    name=UseTime, ID=12, description=The average time in milliseconds that a connection is used. The difference between the time at which the connection is allocated and returned. This value includes the JBDC operation time., unit=MILLISECOND, type=AverageStatistic,
    avg=36.24588031222897, min=0, max=33275, total=83583, count=2306, sumSq=1.499105659E9, type=TimeStatistic, avg=36.24588031222897, min=0, max=33275, total=83583, count=2306, sumSq=1.499105659E9
    name=WaitTime, ID=13, description=The average waiting time in milliseconds until a connection is granted., unit=MILLISECOND, type=AverageStatistic, avg=0.0, min=0, max=0, total=0, count=0, sumSq=0.0, type=TimeStatistic, avg=0.0, min=0, max=0, total=0,
    count=0, sumSq=0.0
    name=PrepStmtCacheDiscardCount, ID=21, description=The number of statements that are discarded because the cache is full., unit=N/A, type=CountStatistic, count=3
    name=JDBCTime, ID=22, description=The average time in milliseconds that is spent running the JDBC calls, including the time spent in the JDBC driver, network, and database. (Applies to V5.0 data source only.), unit=MILLISECOND, type=AverageStatistic,
    avg=0.66030797517812, min=0, max=687, total=2873, count=4351, sumSq=994891.0, type=TimeStatistic, avg=0.66030797517812, min=0, max=687, total=2873, count=4351, sumSq=994891.0
    So then how do we configure Expressions for Health State at this point in the Wizard, if we have such a long string value containing ALL of the stats?  Anyone have insight into this?
    Thanks!

    Hi experts,
    We've imported the JEE WebSphere MP's, completed discovery, enabled deep monitoring, and now have some issues authoring custom "JEE Application Availability Monitoring".
    In the wizard on the "MBean to Monitor" screen we use the MBean name:
    WebSphere:j2eeType=JDBCResource,*, as we'd like to monitor some JDBC Connection Pool stats.
    On the next screen in the wizard, "Health State", we select the xPath:
    MBeans/MBean[@Name="javax.management.modelmbean.RequiredModelMBean" and @objectName="WebSphere:J2EEServer=server1,Server=server1,cell=APPT75WASCell01,j2eeType=JDBCResource,mbeanIdentifier=cells/APPT75WASCell01/resources.xml#builtin_jdbcprovider,name=Derby
    JDBC Provider (XA),node=APPT76WASNode01,platform=dynamicproxy,process=server1,spec=1.0,type=JDBCProvider,version=7.0.0.25"]/Properties/Property[@Name="stats" and @type="com.ibm.ws.pmi.j2ee.JDBCStatsImpl"]
    The problem we have is that ALL of the stats and counters are found within this single Property, as seen below:
    Current value:
    Stats name=Derby JDBC Provider (XA), type=connectionPoolModule
    Stats name=jdbc/DefaultEJBTimerDataSource, type=connectionPoolModule
    name=CreateCount, ID=1, description=The total number of connections that are created., unit=N/A, type=CountStatistic, count=6
    name=CloseCount, ID=2, description=The total number of connections that are closed., unit=N/A, type=CountStatistic, count=5
    name=AllocateCount, ID=3, description=The total number of connections that are allocated., unit=N/A, type=CountStatistic, count=2306
    name=ReturnCount, ID=4, description=The total number of connections that are returned to the pool., unit=N/A, type=CountStatistic, count=2302
    name=PoolSize, ID=5, description=The size of the connection pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=0, highWaterMark=2, current=1, integral=8.3568935E7, lowerBound=0, upperBound=30
    name=FreePoolSize, ID=6, description=The number of free connections in the pool., unit=N/A, type=BoundedRangeStatistic, lowWaterMark=0, highWaterMark=2, current=1, integral=8.3485336E7, lowerBound=0, upperBound=30
    name=WaitingThreadCount, ID=7, description=The average number of threads that are concurrently waiting for a connection., unit=N/A, type=RangeStatistic, lowWaterMark=0, highWaterMark=0, current=0, integral=0.0
    name=FaultCount, ID=8, description=The number of connection timeouts in the pool., unit=N/A, type=CountStatistic, count=0
    name=PercentUsed, ID=9, description=Average percent of the pool that is in use. The value is based on the total number of configured connections in the ConnectionPool, not the current number of connections., unit=N/A, type=RangeStatistic, lowWaterMark=93,
    highWaterMark=100, current=0, integral=278663.0
    name=UseTime, ID=12, description=The average time in milliseconds that a connection is used. The difference between the time at which the connection is allocated and returned. This value includes the JBDC operation time., unit=MILLISECOND, type=AverageStatistic,
    avg=36.24588031222897, min=0, max=33275, total=83583, count=2306, sumSq=1.499105659E9, type=TimeStatistic, avg=36.24588031222897, min=0, max=33275, total=83583, count=2306, sumSq=1.499105659E9
    name=WaitTime, ID=13, description=The average waiting time in milliseconds until a connection is granted., unit=MILLISECOND, type=AverageStatistic, avg=0.0, min=0, max=0, total=0, count=0, sumSq=0.0, type=TimeStatistic, avg=0.0, min=0, max=0, total=0,
    count=0, sumSq=0.0
    name=PrepStmtCacheDiscardCount, ID=21, description=The number of statements that are discarded because the cache is full., unit=N/A, type=CountStatistic, count=3
    name=JDBCTime, ID=22, description=The average time in milliseconds that is spent running the JDBC calls, including the time spent in the JDBC driver, network, and database. (Applies to V5.0 data source only.), unit=MILLISECOND, type=AverageStatistic,
    avg=0.66030797517812, min=0, max=687, total=2873, count=4351, sumSq=994891.0, type=TimeStatistic, avg=0.66030797517812, min=0, max=687, total=2873, count=4351, sumSq=994891.0
    So then how do we configure Expressions for Health State at this point in the Wizard, if we have such a long string value containing ALL of the stats?  Anyone have insight into this?
    Thanks!
    I'm using the latest JEE MPs and SCOM 2012 R2, however I don't show the stats as a property on this MBean.

  • User management in Sun Application server PE 9

    I need to be able to manage (create, edit, delete) users in my AS for a specific app.
    Is there an API I can use to access the user information in the AS?
    Can I create new users, edit and delete them?
    If this is not possible:
    Does anyone know how to manage user in JEE 5? It is very common to have to add users to an application and I'm wondering how do you do that. If you have to keep user information such as email, address info, etc.... do ou have to do this separately from the server?
    Any hints? I'm lost... I must admit
    Thanks and regards,
    Mario

    - deploytool was made available with Sun Java System Application server until version 8.2.
    You can download SJSAS 8.2 from: http://java.sun.com/j2ee/1.4/download.html
    From the above page, you can download either the standalone application server or (NetBeans 5.0 + SJSAS 8.2) bundle.
    - deploytool was removed from SJSAS 9.0 onward. From version 9.0, NetBeans is the IDE offered for deploying apps on to SJSAS 9.0 (glassfish) and deploytool is not offered anymore. Please download NetBeans 5.5, which is the tool now offered by Sun for deploying to 9.0.
    - It is not expected that deploytool shipped with 8.2 will work with 9.0. It most likely will not, even for j2ee 1.4 apps.

  • JSP and the Sun Application Server. Is it really nessecary?

    Downloaded Creater 2, and love it. I really didn't realize how easy JSP is. Though I would be interested in knowing: Does the Sun Application Server needs to be running in order to use JSP.
    Talking to my Hosting Provider, they have a plan in which JSP is included but the Sun Application Server is not. If I decide to get their JSP Hosting plan, do I truly need the Application Server to run my JSP forms and all the other great things that Creater 2 has to offer?
    Thanks in Advance!
    Josef

    No you don't. You're app will run in any JEE server like Tomcat, Jetty, JBoss, Jonas, etc. If you are using EJBs, however, the server you choose must have EJB support.

Maybe you are looking for

  • External hard drive not recognized by Mavericks?

    I have a Western Digital My Passbook 500GB external hard drive connected to my MacBook Pro via USB.  It worked fine until I upgraded to Mavericks.  Now it is not recognized at all in my Finder. When I go to Disk Utility, it finds it and says "not sup

  • VOIP Design Question in reference to DHCP

    Background: I have setup VOIP at 3 different remote sites connected via Layer 3 routing and single mode fiber. Each site has it's own voice gateway. I have it setup that the DHCP scopes for data and voice are received from our central data center off

  • Launching my Business' Website with iWeb '06

    I'll try to keep this brief. Here's where I stand thusfar: 1.) I am putting together my small business' startup website using iWeb 06, due to its ease of use, having everything I need to make a nice startup site (particularly for my portfolio, blog &

  • Firefox is not recognising flash player...I must use IE...why is this?

    firefox says I must install flash player ...I have the most current flash player...it works fine when using IE. I have the most current version of firefox.....it gives me the update plug in message. when i try and do that it just takes me to some pag

  • Missing important feature in whatsapp program

    I don't know about the others, but when I downloaded whatsapp, I discovered that I cannot send a broadcast message to the people in my list.  I have to send a message one in a time, which is frustrating and annoying. Is there any way to solve this pr