Clearing up DB resources on sessionDestroyed

Hello, we have a session listener class tied to HttpSessionListener. What I want to know is what is the best way to release all DB resources and pending transactions in the sessionDestroyed event? For instance, if the user is running an update transaction and the app crashes somehow, I want to release all these transactions when the session invalidates. Is there something on the Connection object I can use?
Also, we are calling Oracle packages to do all of our transactions, not sure if that makes a difference in your answer.

Usually, database connections should be kept around for the smallest possible amount of time. They are a pretty expensive and scarce resource. Keep them in local variables, and use try/finally to release statements, result sets, and connections. Like so:
    void whatever()
        Connection connection = null;
        PreparedStatement stmt = null;
        ResultSet res = null;
        try {
            String sql = "select ...";
            connection = pool.getConnection(); // or however your connection pool works
            stmt = connection.prepareStatement(sql);
            res = stmt.executeQuery();
            while (res.next()) {
    } finally {
        // Close in reverse order of creation
        SqlUtil.close(res);
        SqlUtil.close(stmt);
        SqlUtil.close(connection);
public class SqlUtil
    public static void close(Statement stmt)
        if (stmt == null) // can be null if an exception occurred
            return;
        try {
            stmt.close();
        } catch (Exception e) {
            log.error(e, "error closing database statement");
    // ditto for ResultSet and Connection
    /* You could also write a close(ResultSet, Statement, Connection).
     * That has the advantage that it can close all three, and then throw an SqlException
     * if any of the closes failed.  Three separate closes can log the exception
     * but can't easily pass it upwards.
}

Similar Messages

  • Resource class best practice

    I have created a reserved context with 20% min and max = to min in every resource
    including sticky.
    I also have the default resource class
    I have also created another resource with 20% sticky but left everything else at default 0-100%
    our network traffic doesnt carry a heavy load on the new loadbalancer..but what is a good rule of thumb?
    most of the traffic is http and at this point we will create about 2 contexts after the Admin

    Hello!
    This is a very pertinent question, however as many things in life there is no one size fits all here.
    We basically recommend, as best practice, to allocate for each specific context only the estimated needed resources. These values should always come from a previous study on the network patterns/load.
    To accomodate for growth and scalability it is strongly advised to initially keep as many resources reserved as possible and allocate the unused resources as needed. To accomplish this goal, you should created a reserved resource class, as you did already, with a guarantee of 20 to 40 percent of all ACE resources and configure a virtual context solely with the purpose of ensuring that these resources are reserved.
    As you might already know ACE protects resources in use, this means that when decreasing a context's resources, the resources must be unused before then can be reused by other context. Although it is possible to decrease the resource allocations in real time, it typically requires additional overhead to clear any used resources before reducing them.
    Based on the traffic patterns, number of connections, throughput, concurrent SSL connections , etc, for each of the sites you will be deploying you will have a better idea on what might be the estimated needed resources and then assign them to each of the contexts. Thus this is something that greatly depends on customer's network environment.
    Hope this helps to clarify your doubts.

  • Resource Bundles and Embedded fonts - best practice

    Hello,
    I am in digging into creating a localized app and I would
    like to use embedded fonts.
    Ideally, I would like to have two locales (for example), each
    with a different embedded font and/or unicode range.
    For example, how do I set up my localized app so that EN uses
    Arial (Latin Range), and JP uses Arial Unicode MS with Japanese
    Kanji unicode range ?
    Note that I do know how to embed fonts with different ranges,
    I just don't know how to properly embed them into resource bundles
    and access them easily in style sheets.
    Thanks!
    -Daniel

    Hello!
    This is a very pertinent question, however as many things in life there is no one size fits all here.
    We basically recommend, as best practice, to allocate for each specific context only the estimated needed resources. These values should always come from a previous study on the network patterns/load.
    To accomodate for growth and scalability it is strongly advised to initially keep as many resources reserved as possible and allocate the unused resources as needed. To accomplish this goal, you should created a reserved resource class, as you did already, with a guarantee of 20 to 40 percent of all ACE resources and configure a virtual context solely with the purpose of ensuring that these resources are reserved.
    As you might already know ACE protects resources in use, this means that when decreasing a context's resources, the resources must be unused before then can be reused by other context. Although it is possible to decrease the resource allocations in real time, it typically requires additional overhead to clear any used resources before reducing them.
    Based on the traffic patterns, number of connections, throughput, concurrent SSL connections , etc, for each of the sites you will be deploying you will have a better idea on what might be the estimated needed resources and then assign them to each of the contexts. Thus this is something that greatly depends on customer's network environment.
    Hope this helps to clarify your doubts.

  • Different partner apps share sso schema?

    Sorry if this is a stupid question.
    Part of the setup and configuration of a partner application is the creation of a database schema, one in which we install the sso pl/sql packages, etc...
    I have several partner applications. Does each partner application need to have it's own unique sso schema? Or can all my partner applications share the same sso schema?
    Any recommendations?
    Thanks!
    Phillip

    To me it clearly looks like Resource forest scenario. The only difference is, you are Migrating the Mailbox into Own Forest, rather creating a New Mailbox for User in Partner AD.
    http://www.msexchange.org/articles-tutorials/exchange-server-2007/planning-architecture/deploying-exchange-resource-forest-part2.html
    http://social.technet.microsoft.com/Forums/exchange/en-US/3f020f35-df27-4a16-b3a9-9b0db7d95b61/exchange-2010-resource-forest-how-do-you-assign-permissions-to-share-linked-mailboxes
    About Single Sign On
    ADFS 2.0 should accomplish it.
    Cheers,
    Gulab Prasad
    Technology Consultant
    Blog:
    http://www.exchangeranger.com    Twitter:
      LinkedIn:
       Check out CodeTwo’s tools for Exchange admins
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  • Can SQL Developer be used for Oracle Support "HTML Output" Diag Scripts ?

    Hi All,
    Oracle Support has asked me to run a diagnostic script (OTL_Diag.sql for anyone familar with the script) that produces output in HTML format using SQL*Plus to help troubleshoot an OTL problem we are having. Unfortunately I don't have SQL*Plus installed and my company is not on board with me installing it because of the SQL*NET connection required. Instead I have access to SQL Developer 3.1.0.7. While this works fine for most situations I'm having problems generating the required .html output file that Support needs.
    I've tried runing the OTL_Diag.sql a couple of ways using SQL Developer. First, I opened the file from SQL Developer and using the Run Script functionality (F5) I executed the code that way. This method did give me an opportunity to input the necessary parms and it did create the 'start' of the HTML file on my (Windows) file system, but the script seemed to abort with a java error that indicated some sort of format error (sorry, I'm not a java person so I can't provide any more info, but I'll be glad to get the exact error message if anyone thinks that will help solve my issue).
    My second approach was to open a SQL Window where I typed in @C:\OTL_Diag.sql without quotes. This approach also gave me the opportunity to enter the necessary input parms and it seemed to end normally. It also created the 'start' of the diaganostic output file on my Windows file system, but it 'completed' before any of the 'real' diaganostic output was written to the .html file.
    The Metalink note clearly specifies that the OTL_Diag.sql script is to be run with SQL*Plus 10.2 or above so I don't think I can complain too loudly to Oracle about this...but given that I don't have access to this product (and it is useless for me to again ask to install it) I am hoping someone out there has some ideas or insight as to how I can use SQL Developer to execute this diag script in a manner that will produce the required .html output file.
    Thanks in advance to anyone taking time to read my post !!
    Jeff
    Edited by: user13111861 on Jul 10, 2012 6:43 PM
    Edited by: user13111861 on Jul 10, 2012 7:51 PM

    >
    As a result, at this point in time my only available tool to run the OTL_Diag.sql script (provided by Oracle Support) is SQL Developer
    >
    Then you will have to edit the script, break it into pieces, execute each piece manually and save the output to feed into the next piece as required based on what the script is actually doing. Don't post the script or contents as that will likely violate your support agreement.
    As I already mentioned the script may be using syntax and/or commands that are simply not supported by sql*developer. One likely area is the script may be producing intermediate output scripts that are then processed by a later portion of the script. If that is the case then my suggestion to execute the pieces manually should work but you will need to do some trial-and-error to see.
    Even if you appear to be successful you will still have an issue when you communicate the results of your 'test' to Oracle support and they determine you didn't follow their instructions to use the proper tool.
    Sounds like your management is either ignorant or incompetent so I suggest you cover yourself by documentating the instructions from Oracle support and the direct orders you were given to disregard those instructions. No need to discuss that issue further but clearly there are resources available somewhere in the org that has the proper privileges or they wouldn't be able to maintain and support the database. If they want to pay for support they should heed their advice. Nuff said.

  • Memory leak on the native side

    Hello,
    I am hoping someone here can offer some troubleshooting advice, as I am completely stumped. I am running JBoss 5.1 with JDK 1.6_u18 (same problem with u17 and u16 too)
    - 32-bit, Linux (RHEL 5).
    - min/max heap setting of 1024M
    - permgen max of 256M
    - Thread stack size of 128K
    - No JNI
    My problem: The memory footprint of the JVM slowly grows until it hits the 3G OS limit. This takes about 8 hours under moderate load. At this time, it of course dies as it has no more addressable memory left.
    Here is the strange part: I have used every possible memory debugging tool (jmap, Eclipse MAT, etc) and nothing looks out of the ordinary in my Java heap. Thread count stays at a reasonable 350 threads, Java heap size stabilizes at about 500M. For the first hour or so, the JVM footprint stays at about 1.7G, which makes sense. After that it starts to slowly grow until in exceeds the 3G limit.
    What can I do to figure out where the leak is occurring? There is clearly some native resource that is being allocated but not freed. As I indicated, all the Java analysis tools report a healthy, stable heap and thread count.
    Thanks in advance.
    Jon

    Thanks for the reply.
    I have confirmed with -verbose:jni that the only JNI libraries getting loaded are those belonging to the JDK. My application does make heavy use of the ProcessClassLoader from the Jboss JBPM library, but classes all seem to be unloading normally, and my Permgen usage stays very low and stable. Is there anything I should look at in regards to this class loader? I have tried both a lack of GC parameters and specified the concurrent mark sweep collector, with the same results.

  • JMS Web Services in latest OC4J 9.0.3

    Just trying out the JMS Web services in OC4J 9.0.3 just released today. Using Ant 1.5 and updated the build.xml file as directed. Using JDK 1.3.02.
    Trying the JMS Web Service demo #2 based on JMS on top of Oracle AQ. Everything works fine - queues set up fine, OC4J configured nicely, and the following steps of the build work fine: clean, setup, compile, mdbjar ...
    But when I get to the assemble step it crashes with the following error:
    assemble:
    [echo] assembling Web Services EAR. ..
    [java] Please wait ...
    [java] java.io.IOException: CreateProcess: javac proxy\JmsDemo2Proxy.java error=2
    [java] at java.lang.Win32Process.create(Native Method)
    [java] at java.lang.Win32Process.<init>(Win32Process.java:66)
    [java] at java.lang.Runtime.execInternal(Native Method)
    [java] at java.lang.Runtime.exec(Runtime.java:551)
    [java] at java.lang.Runtime.exec(Runtime.java:418)
    [java] at java.lang.Runtime.exec(Runtime.java:361)
    [java] at java.lang.Runtime.exec(Runtime.java:325)
    [java] at oracle.j2ee.ws.tools.WsAssmProxyGenerator.doCompile(WsAssmProxyGenerator.java:284)
    [java] at oracle.j2ee.ws.tools.WsAssmProxyGenerator.processProxy(WsAssmProxyGenerator.java:131)
    [java] at oracle.j2ee.ws.tools.WsAssmProxyGenerator.clientGenerate(WsAssmProxyGenerator.java:120)
    [java] at oracle.j2ee.ws.tools.WsAssembler.assemble(WsAssembler.java:92)
    [java] at oracle.j2ee.ws.tools.WsAssembler.main(WsAssembler.java:64)
    [java] Exception in thread "main"
    BUILD FAILED
    file:D:/oc4j903/webservices/demo/basic/jms_service/demo2/build.xml:63: Java returned: 1
    What is interesting is the WSDL and proxy appear to have been generated successfully. Even the jmsws2.ear and mdb_service2.jar files appear generated ok. But the web.xml is missing so perhaps this is where it died. Any clues as to what might be wrong ... are changes required in the config.xml file driving the WebServicesAssembly tool?
    Thanks for any help.

    Went a little further ... given the assembly error seemed to occur on the last step creating the proxy.jar file, I simply skipped over it and did the deployment (changed the build.xml to continue assembly upon failure). This seemed reasonable as all the ear and war files where there; the only missing piece appeared to be the proxy.jar.
    The deployment of the service was successful and I downloaded the proxy.jar file from the OC4J instance which in turn allowed me to compile the Web service client. Things were looking up here.
    However, when I ran the service I got an error indicating the wrong number of arguments to the underlying queues. Given it got through to the database, I assume my configuration is set up correctly but it is a little hard to debug from here. Here is the error I got (note tried on 9.0.1 and 9.0.2 database):
    D:\oc4j903\webservices\demo\basic\jms_service\demo2>java -classpath client;proxy/JmsDemo2_proxy.jar;%CLASSPATH% JmsDemo2
    Client
    Doing the Send Operation ..on Element
    <employee>
    <name>Bob</name>
    <emp_id>1234</emp_id>
    <position>assistant manager</position>
    </employee>
    [SOAPException: faultCode=SOAP-ENV:Server; msg=oracle.jms.AQjmsException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to &apos;AQ$_JMS_ENQUEUE_OBJECT_MESSAGE&apos;
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    at JmsDemo2Proxy.makeSOAPCallDocument(JmsDemo2Proxy.java:73)
    at JmsDemo2Proxy.send(JmsDemo2Proxy.java:47)
    at JmsDemo2Client.main(client/JmsDemo2Client.java:19)
    The two oc4j configuration files requiring editing datasources.xml and application.xml are included below. Datasources was straightforward; I wasn't quite clear about the <resource-provider> entry in application.xml as it wasn't clear if this is a top level element or what. See the very end of this post to see where I put it.
    Datasources.xml
    <?xml version="1.0" standalone='yes'?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
    <data-sources>
         <data-source
              class="com.evermind.sql.DriverManagerDataSource"
              name="OracleDS"
              location="jdbc/OracleCoreDS"
              xa-location="jdbc/xa/OracleXADS"
              ejb-location="jdbc/OracleDS"
              connection-driver="oracle.jdbc.driver.OracleDriver"
              username="scott"
              password="tiger"
              url="jdbc:oracle:thin:@localhost:5521:oracle"
              inactivity-timeout="30"
         />
         <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="OracleDS"
    location="jdbc/wsDemoEmulatedOracleCoreDS"
    xa-location="jdbc/xa/wsDemoEmulatedOracleXADS"
    ejb-location="jdbc/wsDemoEmulatedDS"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="jemuser"
    password="jempasswd"
    url="jdbc:oracle:thin:@127.0.0.1:1521:O901"
    inactivity-timeout="30"
    />
    </data-sources>
    application.xml
    <?xml version="1.0" standalone='yes'?>
    <!DOCTYPE orion-application PUBLIC "-//Evermind//DTD J2EE Application runtime 1.2//EN" "http://xmlns.oracle.com/ias/dtds/orion-application.dtd">
    <!-- The global application config that is the parent of all the other
         applications in this server. -->
    <orion-application autocreate-tables="true"
         default-data-source="jdbc/OracleDS">
         <web-module id="defaultWebApp" path="../../home/default-web-app" />
         <web-module id="dms0" path="../../home/applications/dms0.war" />
         <web-module id="dms" path="../../home/applications/dms.war" />
    <connectors path="./oc4j-connectors.xml"/>
         <persistence path="../persistence" />
    <!-- Path to the libraries that are installed on this server.
         These will accesible for the servlets, EJBs etc -->
         <library path="../../home/lib" />
         <library path="../../../sqlj/lib" />
         <library path="../../../rdbms/jlib/xsu12.jar" />
         <!-- Path to the taglib directory that is shared
    among different applications. -->
    <library path="../../home/jsp/lib/taglib" />
    <!-- Uncomment the following element to use JAZN-XML as UserManager
         <jazn provider="XML" location="./jazn-data.xml" />
    -->
         <principals path="./principals.xml" />
         <log>
              <file path="../log/global-application.log" />
         </log>
    <commit-coordinator>
    <commit-class
    class="com.evermind.server.OracleTwoPhaseCommitDriver" />
    <property name="datasource"
    value="jdbc/OracleDS"/>
    <!-- Username and password are the optional properties
    replace with your commit_co-ordinator_super_user
         <property name="username"
         value="system" />
         <property name="password"
         value="manager" />
    -->
    </commit-coordinator>
         <data-sources path="data-sources.xml" />
         <namespace-access>
              <read-access>
                   <namespace-resource root="">
                        <security-role-mapping>
                             <group name="administrators" />
                        </security-role-mapping>
                   </namespace-resource>
              </read-access>
              <write-access>
                   <namespace-resource root="">
                        <security-role-mapping>
                             <group name="administrators" />
                        </security-role-mapping>
                   </namespace-resource>
              </write-access>
         </namespace-access>
         <resource-provider class="oracle.jms.OjmsContext" name="wsdemo">
    <description> OJMS/AQ </description>
    <property name="datasource" value="jdbc/wsDemoEmulatedDS">
    </property>
    </resource-provider>
    </orion-application>
    Any suggestions? Wait for production?
    Mike.

  • Fetch GLPCA-SPRCTR instead of csks-PRCTR - Urgent

    Hi All,
    i have a report which dispalys a column profit center (CSKS-PRCTR).
    My functional wants to replace this field (CSKS-PRCTR) with GLPCA-SPRCTR.
    I tried with various option but not successful. Any help would be highly appreciated.
    Thanks,
    Senthil
    Message was edited by:
            senthil kumar

    Hi,
    The problem is that i am getting multiple records, the input given is  controlling area, company code, date, plant, account number and functional area.
    I am pasting my code here
    start-of-selection.
      perform get_data.
      perform update_profit_center.                           "+D01K962014
      perform produce_output.
    *&      Form  GET_DATA
    form get_data.
      clear: t_month, t_days, t_year, t_date_from, t_date_to, t_line.
    Month of Period to Analyze
      t_month = p_perio2+1(2).
    Year of Period to Analyze
      t_year = p_gjahr2.
    Get number of days of Period to Analyze
      call function 'NUMBER_OF_DAYS_PER_MONTH_GET'
           exporting
                par_month = t_month
                par_year  = t_year
           importing
                par_days  = t_days.
    Put dates together for select from AFRU
      concatenate p_gjahr1 p_perio1+1(2) '01' into t_date_from.
      concatenate t_year t_month t_days into t_date_to.
    Select Process Orders only for Dates specified
      select aufnr into table itab_aufnr
        from afru
       where budat ge t_date_from
         and budat le t_date_to
         and werks in s_werks.
    Sort and delete duplicates from Orders table
      sort itab_aufnr.
      delete adjacent duplicates from itab_aufnr.
      describe table itab_aufnr lines t_line.
      if t_line gt 0.
    Now select all other data with regard to Orders in Orders table
      select carbpl aauart awerks aaufnr bmatnr clmnga csptag "vornr
                                                     c~erdat  "+D01K962077
                                                      fmaktx jktext
              into table itab
       from ( ( ( ( ( ( (
                      aufk as a inner join afpo as b on baufnr = aaufnr )
                              inner join s022 as c on caufnr = baufnr and
                                                      cmatnr = bmatnr and
                                                      cwerks = bpwerk )
                              inner join makt as f on fmatnr = bmatnr )
                              inner join tkkap as g on gkokrs = akokrs )
                              inner join tkv09 as h on hkokrs = akokrs )
                              inner join crhd as i on iarbpl = carbpl )
                              inner join crtx as j on iobjty = jobjty and
                                                      iobjid = jobjid )
               for all entries in itab_aufnr
               where a~aufnr eq itab_aufnr-aufnr
                 and a~auart in s_auart
                 and a~werks in s_werks
                 and c~arbpl in s_arbpl
                 and g~kokrs in s_kokrs
                 and g~versa in s_versa
                 and h~awvrs in s_awvrs.
        sort itab by aufnr matnr.
        delete adjacent duplicates from itab comparing aufnr matnr.
        loop at itab.
          concatenate 'OR' itab-aufnr into lr_objnr-low.
          lr_objnr-sign = 'I'.
          lr_objnr-option = 'EQ'.
          append lr_objnr.
        endloop.
        sort lr_objnr.
        delete adjacent duplicates from lr_objnr.
        call function 'KKR_COOBJECT_VALUES_READ'
             exporting
                  i_kokrs              = s_kokrs-low
            I_OBJNR              =
                  i_gjahr_von          = p_gjahr1
                  i_gjahr_bis          = p_gjahr2
                  i_perio_von          = p_perio1
                  i_perio_bis          = p_perio2
                  i_nur_belast         = ' '
            I_KATYP              =
            I_NUR_P_I            =
            I_NUR_P_I_S          =
                  i_kontrollkosten     = ' '
                  i_read_owaer         = ' '
                  i_pvers              = '000'
                  i_ivers              = '000'
                  i_svers              = s_awvrs-low
                  i_avers              = s_versa-low
                  i_bewsicht           = '0'
            I_CONV_UNITS         = 'X'
       IMPORTING
            E_KENNZAHLEN         =
             tables
                  rng_objnr            = lr_objnr
            RNG_WRTTP            =
            RNG_BEKNZ            =
                  t_kennzahlen         = lt_keyfigures
            T_KKBC               =
            T_KKROBJ             =
            T_KKBOB              =
             exceptions
                  no_kokrs_set         = 1
                  no_input_data        = 2
                  different_input_data = 3
            OTHERS               = 4
      endif.
    endform.                    " GET_DATA
    *&      Form  update_profit_center
          update profit center for each line item in itab
    form update_profit_center.
      data: lv_objid like crhd-objid,
            lv_kokrs like crco-kokrs,
            lv_kostl like crco-kostl,
            lv_prctr like csks-prctr.
      field-symbols: <fs_itab> like line of itab.
    update profit center into itab - alv output table
      loop at itab assigning <fs_itab>.
        clear lv_objid.
      read resource/work center id of resource/work center of a plant
      -CRHD
        select objid into lv_objid
          from crhd
         where objty = 'A'              and   " A - work center
        use order creation date instead of period to analyse"+D01K962077
              begda <= <fs_itab>-sptag and                  "+D01K962077
              endda >= <fs_itab>-sptag and                  "-D01K962077
               begda <= <fs_itab>-erdat and                   "+D01K962077
               endda >= <fs_itab>-erdat and                   "+D01K962077
               arbpl =  <fs_itab>-arbpl and   " resource/work center
               werks =  <fs_itab>-werks.      " plant
          exit.
        endselect.
        clear: lv_kokrs,lv_kostl.
        if not lv_objid is initial.
        read cost center using work center id and date to analyse field to
        validate from and to valid periods- CRCO
          select kokrs kostl
            into (lv_kokrs,lv_kostl)
            from crco
           where objty =  'A'             and
                 objid =  lv_objid        and
        use order creation date instead of period to analyse"+D01K962077
                endda >= <fs_itab>-sptag and                "-D01K962077
                begda <= <fs_itab>-sptag.                   "-D01K962077
                 endda >= <fs_itab>-erdat and                 "+D01K962077
                 begda <= <fs_itab>-erdat.                    "+D01K962077
            exit.
          endselect.
          if sy-subrc eq 0.
            clear lv_prctr.
          read profit center of cost center that belongs to a date to
          analyse period - from CSKS
    <b>*** This quesry needs to be replaced with GLPCA table</b>
            select <b>prctr into lv_prctr</b>
              from csks
             where kokrs = lv_kokrs and          " Controlling Area
                   kostl = lv_kostl and          " Cost Center
        use order creation date instead of period to analyse"+D01K962077
                  datbi >= <fs_itab>-sptag and              "-D01K962077
                  datab <= <fs_itab>-sptag.                 "-D01K962077
                   datbi >= <fs_itab>-erdat and               "+D01K962077
                   datab <= <fs_itab>-erdat.                  "+D01K962077
              exit.
            endselect.
            if sy-subrc eq 0.
            update profit center to itab
              <fs_itab>-prctr = lv_prctr.        " Profit Center
            endif.
          endif.
        endif.
      endloop.
    endform.                    " update_profit_center
    Senthil.
    Message was edited by:
            senthil kumar
    Message was edited by:
            senthil kumar

  • Adobe Air and Flash Future on Desktop and Mobile Devices

    Hello,
    iam interested to develop for mobil and desktop devices with AS3 and Flash Professional and i have any question.
    I see also many benefits to develop in flash as in java because javas gui development is based on swing a old java graphics engine.
    Next reason is the plattform like Linux,Windows,IOS.,the Game Development and other stuff.
    With Flash i can create nextgen interactive stunning cool gui interfaces for apps.
    I dont know why flash sucks for the market and devices.
    My question: is as3 and flash save for the future ?
    Make it really sense to learn as3 and Flash ?
    I have read many blogs,threads on adobe and other forums year 2012 Adobe stop flash development,
    and now 2013 google androids kitkat now have removed api features that kills complete flash !!!
    Other comments says Flash is dead for the market!? Many frustradet flash developers he work 10 years and more with flash are crying.
    So what is really the Future for the A3 and Flash Development ?
    Thanks and greetings

    Hi mc_gfx,
    > You think i can get started with flash and air development without worries?
    Software development always involves risk, so you can't really do much without worries.       AIR in particular is a cutting (bleading?) edge technology. Adobe is attempting to solve a difficult problem with limited resources, and the results aren't always ideal.
    If you want to deploy to Android and iOS, and you write two native apps, you face a 100% risk that you'll have to write your app twice. While this may not take twice as long as writing it once, it will come close.
    If you use AIR, you only have to write your app once, but you face other risks.
    Here's the problem. In AIR, Adobe is attempting to create a framework that translates ActionScript into bytecode for two different platforms. This isn't easy. Every time Apple or Google upgrades their operating system Adobe has to try to refine AIR so that it translates everything correctly for the new OS. AIR also has to maintain backward compatability with all previous OSs (is that the plural of OS?). AIR also has to work with many different models of Android and iOS devices. This includes supporting most, though not all, of the many different capabilities that these OSs support. Adobe, wisely, doesn't try to support every new feature immediately. Instead, it picks and chooses which new features it will support, and how soon. But even taking this approach I have the impression that their task is daunting.
    If you research this forum you'll find numerous examples of people complaining about features that don't quite work correctly. For example, I've put ~6 developer months into developing a language learning app, only to find that AIR's MP3 playback support has some limitations which severely impact the playback of voice recordings, which severely degrades the value of my app. I'm hoping that Adobe will fix this bug, but it's been two months now, with no movement. Another serious bug, involving audio recording using the device microphone, took three months to get fixed. During that period I had no idea whether it would get fixed, or whether I'd have to disable an important feature of my app on iOS.
    So, you want "without worries"?  
    Some people are lobbying Adobe to include support for Windows Phone in the AIR framework. IMHO, this is madness. Adobe clearly has limited resources. Let them first focus on making basic features like MP3 playback work properly on the platforms that they already support.
    The same issues probably apply to all the other cross-platform development frameworks - Sencha, Xamarin, etc. They face the same difficult technical challenges. I can't speak to the question of how well they're addressing them, but I'd want research them carefully before I invested a lot of time into developing with them.
    With regards to AIR, here's my advice: Before you start a non-trivial project using AIR, make a list of all the things that your app will do, then see if you can find existing apps created with AIR that do these things. Make sure that the feature works on both Android and iOS. You won't be able to test on every device that you'd like to support, but pick a few and test on them.
    You don't need to worry about your app's logic - ActionScript is great for that - and AIR translates it just fine. But think carefully about your app's 'skin' - all the ways that you want it to interact with the outside world - input and output - and confirm that apps exist that demonstrate that AIR can handle these features. Also think about the app's infrastructure - network interactions - database interactions - etc.
    You'll probably end up with a list of features that you haven't been able to confirm. You can vet these by creating a proof of concept that confirms that AIR will support these needs. Do this before you start developing the full app. Once that's done, pray that everything that works now will continue to work with future OSs and devices. Adobe has a pretty good record on this sort of things, but there aren't any guarantees.
    Don't worry, be happy        ?
    HTH,
    Douglas

  • Can't start Tux 6.5 BBL

    Hi. I hope someone can help me with the following problem.
    I am trying to resolve a problem starting a PeopleSoft Process Scheduler
    maintained by Tuxedo 6.5 on AIX 4.3 Each time I attempt to start it, it
    starts two of the three required processes, then fails with the following
    error (quoted below)
    134053.mypsoft!PSPRCSRV.150102: LIBTUX_CAT:262: INFO: Standard main
    starting
    134100.mypsoft!PSDSTSRV.167178: 11122001: TUXEDO Version 6.5 AIX 2 4
    007025954C00.
    134100.mypsoft!PSDSTSRV.167178: LIBTUX_CAT:262: INFO: Standard main starting
    134101.mypsoft!PSDSTSRV.167178: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
    134101.mypsoft!tmboot.170552: 11122001: TUXEDO Version 6.5 AIX 2 4
    007025954C00.
    134101.mypsoft!tmboot.170552: tmboot: CMDTUX_CAT:827: ERROR: Fatal error
    encountered; initiating user error handler
    134101.mypsoft!tmboot.170552: ERROR: Erro
    134112.mypsoft!tmshutdown.167182: 11122001: TUXEDO Version 6.5 AIX 2 4
    007025954C00.
    134112.mypsoft!tmshutdown.167182: LIBTUX_CAT:577: ERROR: Unable to register
    because the slot is already owned by another process
    134112.mypsoft!tmshutdown.167182: FATAL: internal error: CMDTUX_CAT:764:
    ERROR:can't attach to BB
    134116.mypsoft!BBL.170034: CMDTUX_CAT:26: INFO: The BBL is exiting system
    After first closing down ALL processes owned by the relevant user to ensure
    that there were no JSH/JSL WSH/WSL etc processes floating a round, and still
    being unable to start the system, I checked the BEA support website and
    various news groups.
    I looked up the BEA Codes for these errors, and determined that it probably
    relates to a dirty shutdown, and some IPC resources floating around, so I
    did an ipcs -mo and searched for orphaned (0 in the "NATTCH" field)
    resources belonging to the relevant user, then removed them with an ipcrm -m
    (id_name). I still had the same problem.
    Short of a reboot, does anyone have any ideas on how to proceed?
    Regards,
    Bruce Gillespie
    Peoplesoft System Administrator
    Lang Corporation
    [email protected]

    Thanks for your reply.
    The ipcrm you gave me was a bit drastic - I sure wouldn't want to use it on
    a Production System! And I agree with your assessment that I'd have a clean
    slate afterward - I could eat my dinner off it!
    I had already (a bit more selectively) cleared up ipc resources for the
    specific user, to no avail, unfortunately. However, you were correct in
    pointing the error to a non Tuxedo source, which surprised me. I had
    already pretty extensively scoured the Peoplesoft log files - (they are all
    over the place), but after increasing the logging level I found an entry in
    "stdout" which advised me that an ftp test run by the psoft system on
    startup had failed, which then bought the system back down. It must have
    been this which was reporting the error back to Tuxedo, seemingly with an
    incorrect error code resulting, sending me on the wild goose chase for ipc
    resources. It was a quick fix to sort the ftp problem, and the system has
    now started.
    Unfortunately, it means that there is little use in referencing the Tuxedo
    error codes for the error, as psoft doesn't seem to correctly interface with
    them and they bear little resemblance to what is actually occurring.
    Surprise surprise.
    Thanks for your help.
    Regards,
    Bruce Gillespie
    "Peter Holditch" <[email protected]> wrote in message
    news:[email protected]...
    Bruce,
    The 1st error that looks odd is
    134101.mypsoft!PSDSTSRV.167178: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
    This is caused by PeopleSoft code failing to initialise the server
    correctly and reporting an error at starup to Tuxedo. Are there logs or
    somesuch generated by PeopleSoft that might indicate the cause of this
    failure?
    If the machine isn't a production system (or if you can completely
    discontinue service) the best way to guarantee a clean slate is to
    remove all ipc resources (this will possibly upset databases, etc on the
    box too) with
    ipcs | while read a b c d ; do ipcrm -$a $b ; done
    I am, however, pretty sure that the root cause of the problem is the
    error generated by peoplesoft that I picked out above.
    I hope that helps.
    Regards,
    Peter.
    Got a Question? Ask BEA at http://askbea.bea.com
    The views expressed in this posting are solely those of the author, andBEA
    Systems, Inc. does not endorse any of these views.
    BEA Systems, Inc. is not responsible for the accuracy or completeness of
    the
    information provided
    and assumes no duty to correct, expand upon, delete or update any of the
    information contained in this posting.
    Bruce Gillespie wrote:
    Hi. I hope someone can help me with the following problem.
    I am trying to resolve a problem starting a PeopleSoft Process Scheduler
    maintained by Tuxedo 6.5 on AIX 4.3 Each time I attempt to start it, it
    starts two of the three required processes, then fails with the following
    error (quoted below)
    134053.mypsoft!PSPRCSRV.150102: LIBTUX_CAT:262: INFO: Standard main
    starting
    134100.mypsoft!PSDSTSRV.167178: 11122001: TUXEDO Version 6.5 AIX 2 4
    007025954C00.
    134100.mypsoft!PSDSTSRV.167178: LIBTUX_CAT:262: INFO: Standard main
    starting
    134101.mypsoft!PSDSTSRV.167178: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
    134101.mypsoft!tmboot.170552: 11122001: TUXEDO Version 6.5 AIX 2 4
    007025954C00.
    134101.mypsoft!tmboot.170552: tmboot: CMDTUX_CAT:827: ERROR: Fatal error
    encountered; initiating user error handler
    134101.mypsoft!tmboot.170552: ERROR: Erro
    134112.mypsoft!tmshutdown.167182: 11122001: TUXEDO Version 6.5 AIX 2 4
    007025954C00.
    134112.mypsoft!tmshutdown.167182: LIBTUX_CAT:577: ERROR: Unable toregister
    because the slot is already owned by another process
    134112.mypsoft!tmshutdown.167182: FATAL: internal error: CMDTUX_CAT:764:
    ERROR:can't attach to BB
    134116.mypsoft!BBL.170034: CMDTUX_CAT:26: INFO: The BBL is exiting system
    After first closing down ALL processes owned by the relevant user toensure
    that there were no JSH/JSL WSH/WSL etc processes floating a round, andstill
    being unable to start the system, I checked the BEA support website and
    various news groups.
    I looked up the BEA Codes for these errors, and determined that itprobably
    relates to a dirty shutdown, and some IPC resources floating around, so I
    did an ipcs -mo and searched for orphaned (0 in the "NATTCH" field)
    resources belonging to the relevant user, then removed them with anipcrm -m
    (id_name). I still had the same problem.
    Short of a reboot, does anyone have any ideas on how to proceed?
    Regards,
    Bruce Gillespie
    Peoplesoft System Administrator
    Lang Corporation
    [email protected]

  • How to implement the JDBC call over SSL on Oracle?

    I searched the forums and google. It seems to support Oracle 9i JDBC call, Thin driver can not work and we should use OCI.
    I referenced OTN Oracle java example about the SSL, it talked about the security socket but not anythingabout JDBC. http://download-west.oracle.com/docs/cd/B10501_01/network.920/a96573/asoappf.htm#634403
    Who can provide a clear description and resource URL to tell how to make a simple implementation on JDBC over SSL.
    Thanks a lot.

    That article you referenced is referring to the JVM that runs when one runs java stored procedures. It has nothing to do with JDBC.
    You have a unusual requirement (probabaly originated as the same place as your alias.)
    Most of the time SSL is not needed for the database because the database and the applications that talk to it are already on a secured network.
    You can investigate some third party drivers, I believe I recall seeing that one of them does SSL.
    Alternatively you might look into a secure VPN connection. The connection travels over IP and tunnels other traffic through it. Given that the tunned itself is secure, the contents are as well.

  • Bit off topic: Storyboarding

    Hey guys
    What app are you using to create storyboards? Googling the idea just returns a bunch of terrible looking apps that seem just Windows based.
    I can draw my own panels, then retouch in photoshop and layout the boards with InDesign, but its not ideal (just reordering scenes is a bit of a pain)
    Any recommendations will be greatly appreciated
    Thanks
    Fede

    Wouldn't hurt if the folks of this thread commented also over on the "Story" Adobe board ... trying to get somethint better out of them for us.
    I did talk with one of the Story people at NAB ... he explained that Story was actually (in application) pretty much designed to fit the needs of a major cable/sat news network, and they hadn't really put that much thought into the program past that. On listening to what I wanted to be able to use it for, which is to help design my short little interview projects and web-'mercials and such, he thought for a moment, and did say that there was probably use for this with more people than they had thought there would be ... that the current limitations might largely be from a lack of imagination on their own part, as far as envisioning an actual current market that would be available to them.
    It was very clear that the resources would be available only as the upper management saw an immediately approachable market.
    While we were chatting, a "Sr. Manager" by badge came over to join the conversation, and we re-capped the previous comments including the Story dude's comment. The "Sr. Manager" nodded thoughtfully, and admitted that at his level they hadn't really put any thought into Story as more of a wide-use program ... period. It was pretty much thought of as for X client ... and even he admitted that on continued thinking, that is probably less than optimal on Adobe's part.
    Not that he was committing any more resources to it, mind you ... sigh ...

  • Move Group in Application Defenition Editor

    Hi,
    I'm busy with a little PoC and I try to change the sequence of my screens/Groups via the Application Definition Editor (JHeadstart_10131_26) I encountered two problems, however moving Groups normally did not cause any problems before! My problem was reproducible and might be due to the significant number of Foreign Key relations in the database?
    Problem 1:
    Generated a First-Cut application and all menu (Tabs) navigations worked fine. Navigations did NOT work correctly anymore for the (new) first Group, up to the previous first Group (!) after moving the First Group below any other Group.
    Problem 2:
    The 'Tabname' properties of the affected Groups did not correlate anymore with the Displayed names. So, wrong screen where displayed when a Tab was selected.
    Solution:
    -     Moved all Groups to the desired position, except the first Group;
    -     Regenerated the application and faced again problems with Tabname properties. Changed ALL ‘Tabnames‘ in the Application Definition Editor (had to be done anyway), applied changes and regenerated the application;
    -     Everything looked/functioned normal. Moved first Group down, regenerated and tested. No errors…
    I did NOT encounter this problem/behaviour before with any “How to” example or other little application. Please explain this behaviour and it’s no problem to mail my application if your Team would like to reproduce it.
    Greeting,
    Michael Kreuwel

    Steven,
    I’ll try if this problem occurs when I generate a First-Cut application based on the HR schema, but I used this version of JHeadstart and JDeveloper for several ‘how to’ instructions, also using HR… However I easily managed to find a solution for all oddities, I did have two other strange problems:
    ·     Resource Bundles where emptied when they where opened in the editor and the Jheadstart Generator did not stop anymore (waited 10 minutes) It was clear that de Resource Bundles where processed based on de OC4J Server Log. Solution: close Resource Bundles, rebuild View project. I thought this was only relevant in case of Java Classes?!?
    ·     I could not regenerate my application after adding a Static Domain (reproducible) with EL statement to retrieve Entries from the Bundles. No problems occurred when the first Static Domain was immediately applied to one or more items!
    I’ll report the result with HR and my offer that I can send you the case stands. It’s a small data model (< 10 tables) I finished my PoC almost, so these problems are not blocking.
    Greetings,
    Michael

  • PMON / abnormal ended processes

    Hi,
    as far as I understand now, PMON will clear up the resources of an abnormal ended process, release locks, blocks of the process in the database buffer cache and so on.
    I'm trying to understand how Oracle will handle processes that has ended abnormal. Assuming an SQL*Plus do a network connection and starts e.g. a long running update. During this update the terminal of SQL*Plus will be killed. Will SQL*Plus rest in the database and what will happens then? Who will remove the network connection, the process from v$session and so on. These dependencies are not clear to me.
    May anyone can give me a short explanation or anyone have a good link where this is explained? I know that this will be a complex issue and can't be explained with a few words, but a short explanation could help to find the right hooks to get a deeper understanding.
    Thank you in advance!
    Best regards,
    Alex

    Hi,
    pgoel wrote:
    Hi, I think it is the same PMON who periodically cleans up the occupied resources by such terminated processes.yes, indeed, that will be done by PMON. But I'm trying to understand how PMON will do that work. If an abnormal ended session is in the instance, how will PMON identify it and what will it do?
    Regards,
    Alex

  • Jdeveloper 10.1.3 and subversion svn folders

    we have lately started using subversion via...tortoise svn on windows xp. I also downloaded the Jdev 10.1.3 preview.
    Now, within each folder of the project a ".svn" hidden folder gets created. When I open my project in Jdeveloper ... in the Applications Navigator window, my workspace has the following structure when I select the Package List view:
    myWorkspace
    |__myProject
    |__Application Sources
    |__svn
    |__svn.prop-base
    |__svn.props
    |__svn.text-base
    |__svn.scprops
    |__com.mycompany.mydept.someproject.db
    |__com.mycompany.mydept.someproject.db.svn
    |__com.mycompany.mydept.someproject.db.svn.prop-base
    |__com.mycompany.mydept.someproject.db.svn......
    |__com.mycompany.mydept.someproject.utils
    |__com.mycompany.mydept.someproject.utils.svn
    |__........
    I tried using the following options to get rid of it but nothing seems to happen.
    * Try 1
    right-click "myProject" >>> Project Properties >>> Project Content
    (Use Project Settings is selected)
    Added ".svn" folders in Exclude Subfolders option
    * Try 2
    right-click "myProject" >>> Project Properties >>> Project Content >>> Resources
    (Use Project Settings is selected)
    Cleared everything in Resources and Exclude Subfolders boxes
    I scanned thro Jdev Help and saw the following thinking that I will disable directory lookup display and change it to display from .jpr file.
    However the irony is that I dont see an Input Paths node as mentioned in the Help, within Tools >> Project Properties.
    To set a project to be based on a directory:
    1. In the Application Navigator, select the project.
    2. From the main menu, choose Tools >> Project Properties, or right-click and choose Project Properties.
    The Project Properties dialog opens with the common input paths displayed or on the last page that you viewed.
    3. If not already selected, select the Input Paths node. 4. On the Input Paths page, select Scan Source Paths to Determine Project Contents.
    Does anybody else have the node in their Jdev 10.1.3.
    Please send in some suggestions on how to disable the display of the ".svn" folders in the Applications Navigator.
    Rgds,
    JacoB

    Please, check the ide.properties
    9.0.5.x
    %JDEVELOPER_HOME%/jdev/system9.0.5.x/ide.properties
    10.1.3.x
    %JDEVELOPER_HOME%/jdev/system/oracle.jdeveloper.10.1.3.x
    Modify Ide.ProjectExcludeFilters property append the value
    */.svn/*
    Ex :
    Ide.ProjectExcludeFilters=*/.cvs/*;*/CVS/*;*.rvi;*.keep;*.contrib*; ...
    JaimeG

Maybe you are looking for