The subtle use of task flow "No Controller Transaction" behavior

I'm trying to tease out some subtle points about the Task Flow transactional behavior option "<No Controller Transaction>".
OTN members familiar with task flows in JDev 11g and on wards would know that task flows support options for transactions and data control scope. Some scenarios based on these options:
a) When we pick options such as "Use Existing Transaction" and shared data control scope, the called Bounded Task Flow (BTF) will join the Data Control Frame of its caller. A commit by the child does essentially nothing, a rollback of the child rolls any data changes back to when the child BTF was called (i.e. an implicit save point), while a commit of the parent commits any changes in both the child and parent, and a rollback of a parent loses changes to the child and parent.
A key point to realize about this scenario is the shared data control scope gives both the caller and called BTF the possibility to share a db connection from the connection pool. However this is dependent on the configuration of the underlying services layer. If ADF BC Application Modules (AMs) are used, and they use separate JNDI datasources this wont happen.
b) When we pick options such as "Always Begin New Transaction" and isolated data control scope, the called BTF essentially has its own Data Control Frame separate to that of the caller. A commit or rollback in either the parent/caller or child/called BTF are essentially isolated, or in other words separate transactions.
Similar to the last point but the exact opposite, regardless how the underlying business services are configured, even if ADF BC AMs are used with the same JNDI data source, essentially separate database connections will be taken out assisting the isolated transactional behavior with the database.
This brings me back to my question, of the subtle behavior of the <No Controller Transaction> option. Section 16.4.1 of the Fusion Guide (http://download.oracle.com/docs/cd/E17904_01/web.1111/b31974/taskflows_parameters.htm#CIHIDJBJ) says that when this option is set that "A new data control frame is created without an open transaction." So you could argue this mode is the same as isolated data control scope, and by implication, separate connections will be taken out by the caller/called BTF. Is this correct?
Doesn't this in turn have implications about database read consistency? If we have one BTF participating in a transaction with the database, reading then writing data, and a separate BTF with the <No Controller Transaction> option set, it's possible it wont see the data of the first BTF unless committed before the No Controller Transaction BTF is called and queries it's own dataset correct?
An alternative question which takes a different point of view, is why would you ever want this option, don't the other options cover all the scenarios you could possibly want to use a BTF?
Finally as a separate question based around the same option, presumably an attempt to commit/rollback the Data Control Frame of the associated No Controller Transaction BTF will fail. However what happens if the said BTF attempts to call the Data Control's (not the Data Control Frame's) commit & rollback options? Presumably this will succeed?
Your thoughts and assistance appreciated.
Regards,
CM.

For other readers this reply is a continuation of this thread and another thread: Re: Clarification?: Frank & Lynn's book - task flow "shared" data control scope
Hi Frank
Thanks for your reply. Okay I get the idea that were setting the ADFc options here, that can be overridden by the implementation of data control, and in my specific case that's the ADF BC AM implementation. I've always known that, but the issue became complicated because it didn't make sense what "No Controller Transaction" actually did and when you should use it, and in turn data control frames and their implementation aren't well documented.
I think a key point from your summation is that "No Controller Transaction" in context of ADF BC, with either data control scope option selected, is effectively (as far as we can tell) already covered by the other options. So if our understanding is correct, the recommendation for ADF BC programmers is I think, don't use this option as future programmers/maintainers wont understand the subtlety.
However as you say for users of other data controls, such as those using web services, then it makes sense and possibly should be the only option?
Also regarding your code harvest pg 14 entry on task flow transactions: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/march2011-otn-harvest-351896.pdf
....and the following quote in context of setting the transaction option to Begin New Transaction:
>
When a bounded task flow creates a new transaction, does it also mean it creates a new database connection? No.
>
....I think you need to be a little more careful in this answer, as again it depends on the underlying data control implementation as you point out in this thread. In considering ADF BC, this is correct if you assume only one root AM. However if the BTFs have separate root AMs, this should result in 2 connections and transactions..... well at least I assume it does, though I wonder what will happen if both AMs share the same JNDI data source.... is the framework smart enough to join the connections/transactions in this case?
Also in one of your other code harvests (apologies I can't find which one at the moment) you point out sharing data control scopes is only possible if the BTF data controls have the same name. In context of an ADF BC application, with only one root AM used by multiple BTFs, this of course would be the case. Yet, the obvious implication to your summary of transaction outcomes in this thread, if the developers for whatever reason change the DC name across DataBindings.cpx files sourced from ADF Libraries containing the BTFs, then no, it wont.
Overall the number of variables in this gets really complicated, creating multiple dimensions to the matrix.
Going to your last point, how can the documentation be improved? I think as you say the documentation is right in context of the options for ADFc, but, as the same documentation is included in the Fusion Dev Guide which assumes ADF BC is being used, then it isn't clear enough and can be misleading. It would seem to me, that depending on the underlying data control technology used, then there needs to be documentation that talks about the effect of ADFc task flow behavior options in the context of each technology. And God knows how you describe a scenario where BTFs use DCs that span technologies.
From context of ADF BC, one thing that I've found hard in analyzing all of this is there doesn't seem to be an easy way from the middletier to check how many connections are being taken out from a data source. The FMW Control unfortunately when sampling db connections taken out from a JNDI data source pool, doesn't sample quickly enough to see how many were consumed. Are you aware of some easy method to check the number of the db connections opened/closed?
Finally in considering an Unbounded Task Flow as separate to BTFs, do you have any conclusions about how it participates in the transactions? From what I can determine the UTF lies in it's own data control frame, and is effectively isolated from the BTF transactions, unless, the BTF calls commit/rollback at the ADF BC data control level (as separate to commit/rollback at the data control frame level), and the data control is used both by the UTF and BTF.
As always thanks for your time and assistance.
CM.

Similar Messages

  • What is the use of Task Flow Call?

    Hi,
    Usually we can call bounded task flow from unbounded task flow.
    What is the use of Task flow call? How is it different from calling in normal way?
    Can anyone please explain me?
    Thank you,
    Srini

    By using Task flow call you can call Bounded task flow from Bounded or Unbounded Task Flow
    check this link http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/taskflows_activities.htm#CHDJDJEF

  • Do some processing before loading jsf fragment created using adf task flow

    Hi,
    I am working on JDev11g.
    I want to create SelectItems of SelectOneChoice dynamically before loading jsf fragment created using adf task flow
    I tried by implementing RegionController class's method RefreshRegion in my backing bean of jsf page fragement to do some processing before loading region
    But it seems to be not feasible approach because it is getting called every time any component on fragement gets partially submitted.
    Is there any method which is called only first time when region is loaded ?
    Or any other solution to achieve this.
    Regards,
    Devang

    Hi,
    don't think so. You would need a phase listener, but I don't see how you get it in. Wha about using a dynamic region and then use the method that is called from the dynamic region first time it is rendered?
    Frank

  • Question about the Contextual Event from task flow to portlet

    Hello, experts,
    I am studying the webcenter portlet and 11g Task flow. in fact i have tested on the Jdev TP4 about the portlet communication.
    As we know, in 11g ADF task flow, can communicate via contextual events. My issue is if I use the bridge to convert task flows to portlets, How can I still make the contextual event communication works in portlets.. If not what is the best way to keep these converted portlets communicated? (I test it on TP4 but failed.)
    Or I can not do this by task flow way, i need to rebuild my portlet in webcenter and use the portlet parameters in web center to let portlets communicate? Is there way can transfer the inter-taskflow communication to the portlets communication after they are converted to portles via bridge? Can new version 11g webcenter support this?
    Seems very hard, I appreciate your web center development experts can enlight on this.
    Thanks
    Wayne

    Up.. Any expert can answer?

  • How to customize the Rich Text Editor task flow in the doc lib?

    Dear Experts in WCP forum,
    You know that webcenter portal has a feature is called customizing task flow.. so we have client request to customize the Rich Text Editor task flow of the Document library. Such as disable the Format, Font, Size drop down menu of the richtext editor UI.   But after I open the editHTML.jsff of the oracle.webcenter.doclib. the code is like this:
                        <f:facet name="richtext">
                               <af:panelGroupLayout layout="scroll" id="rtepng2">
                                  <rte:editor id="rte" value="#{pageFlowScope.rte.HTMLTextArea}" converter="#{pageFlowScope.rte.HTMLConverter}"/>
                                  <!-- keep region wrapped in the facet to be stretched-->
                                  <af:region value="#{bindings.linksResourcePicker.regionModel}" id="lpr"/>
                               </af:panelGroupLayout>
                            </f:facet>
    So likes that editor in fact is from <rte:editor tag.. my question is how to dig into this <rte:editor  to find its jsff code?  And change the menu inside to do the cusomization for them?
    Is that possible?
    A million thanks here in advance!
    wayne

    Based on the Tag TLD reference the editor tag has the following attributes:
    <tag>
        <description>An ADF Wrapper to use the CKeditor&gt;</description>
        <name>editor</name>
        <tag-class>oracle.webcenter.doclib.rte.internal.taglib.RteEditorTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
          <description>&lt;html&gt;the identifier for the component.  The identifier
    must follow a subset of the syntax allowed in HTML:
    &lt;ul&gt;
    &lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
    &lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
    &lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
    &lt;/ul&gt;&lt;/html&gt;</description>
          <name>id</name>
          <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
          <description>The initial value of this component.</description>
          <name>value</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
          <deferred-value>
            <type>java.lang.String</type>
          </deferred-value>
        </attribute>
        <attribute>
          <description>a converter object</description>
          <name>converter</name>
          <deferred-value>
            <type>javax.faces.convert.Converter</type>
          </deferred-value>
        </attribute>
        <attribute>
          <description>
            this is a pass through to get/set the CKEditor ToolbarSet property
          </description>
          <name>toolbarSet</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
          <deferred-value>
            <type>java.lang.String</type>
          </deferred-value>
        </attribute>
        <attribute>
          <description>
            this is a pass through to get/set the CKEditor height property
          </description>
          <name>height</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
          <deferred-value>
            <type>java.lang.String</type>
          </deferred-value>
        </attribute>
        <attribute>
          <description>
            this is a pass through to get/set the CKEditor width property
          </description>
          <name>width</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
          <deferred-value>
            <type>java.lang.String</type>
          </deferred-value>
        </attribute>
      </tag>
    Which means that if you want to change the toolbar you have to check what is the type of toolbars the CKEditor uses, I can tell you that there are two defaults: Basic and Full and I believe the tag uses a custom toolbar called WC by default.
    So if you want to change the toolbar to only show basic, change the toolbarSet property to Basic to make the final result looks like <rte:editor id="rte" value="#{pageFlowScope.rte.HTMLTextArea}" converter="#{pageFlowScope.rte.HTMLConverter}" toolbarSet="Basic" />
    This is not tested, this is only a few insights I got reading about CKEditor

  • How to share the same Database Connection when using several Task Flows ?

    Hi All,
    I’m using JDev 11.1.1.3.0.
    I’m developing ADF Fusion Applications (ABC BC, ADF Faces…)
    These applications are deployed on a Weblogic server.
    Each application has only one Application Module.
    All Application Modules have the same connection type defined: JDBC DataSource : jdbc/GCCDS
    It is working fine.
    I’ve also developed Task Flow Applications for small thinks that are reused in multiple main applications.
    Each Task Flow Application has also one Application Module with the same connections type as main applications.
    All these task flows are deployed to JAR file (ADF Library JAR File) and are reused on my main applications. (drag and drop from the Resource Palette to ADF Regions….).
    There are some parameters passed to Task Flows, so that they can filter data depending on which main applications they are called from.
    Everything is working perfectly.
    All my main applications are using more and more task flows. Which is nice for the reusability etc…?
    Only ONE PROBLEM: DATABASE CONNECTIONS.
    Every Task Flows service made a database connection. So one user may have 10 database connections for the same adf page. And when there are 100 users that are working at the same time, it becomes a problem.
    How to share the same database connections for the main applications and all task flows which are used in the main application?
    Best Regards
    Nicolas

    Hi John,
    When I open a ADF Library JAR file of one of my task flow. (gcc_tf_recentSites.jar)
    I can see TF_RecentSitesService.xml and TF_RecentSitesServiceImpl.class in gcc_tf_recentSites.jar\mu\gcc\tf\recentSites\model\service folder
    + bc4j.xcfg in gcc_tf_recentSites.jar\mu\gcc\tf\recentSites\model\service\common folder.
    bc4j.xcfg details are
    +<?xml version = '1.0' encoding = 'UTF-8'?>+
    +<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">+
    +<AppModuleConfigBag ApplicationName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService">+
    +<AppModuleConfig DeployPlatform="LOCAL" jbo.project="mu.gcc.tf.recentSites.model.TF_RecentSites_Model" name="TF_RecentSitesServiceLocal" ApplicationName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService">+
    +<Security AppModuleJndiName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService"/>+
    +<Custom JDBCDataSource="jdbc/GCCDS"/>+
    +</AppModuleConfig>+
    +<AppModuleConfig name="TF_RecentSitesServiceShared" ApplicationName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService" DeployPlatform="LOCAL" JDBCName="gccdev" jbo.project="mu.gcc.tf.recentSites.model.TF_RecentSites_Model">+
    +<AM-Pooling jbo.ampool.maxpoolsize="1" jbo.ampool.isuseexclusive="false"/>+
    +<Security AppModuleJndiName="mu.gcc.tf.recentSites.model.service.TF_RecentSitesService"/>+
    +</AppModuleConfig>+
    +</AppModuleConfigBag>+
    +</BC4JConfig>+
    So, it seems that the Application Module is packaged with the task flow....
    Is it normal ?
    Regards
    Nicolas

  • Deployed Captcha Code on webcenter spaces using customized Task Flow

    Dears,
    i am using Captcha Code, make new Task flow and fragment to be deployed on webcenter spaces, the code working correctly when am execute RUN from JDeveloper 11.1.1.4.0, but when i deploy it on webcenter spaces version 11.1.1.5 and call this Task Flow from webcenter spaces the image not appear(Actually its Servlet code).
    as mentioned on Oracle PDF (http://www.oracle.com/technetwork/developer-tools/adf/learnmore/index-101235.html ) -- > How-to use Captcha with ADF Faces and Oracle ADF
    add Servlet on web.xml, then make Managed Bean Code (add it into faces-config.xml) , then create new task flow and call the method that execute the Managed Bean from ADF Task Flow Page.
    1 - Servlet on web.xml :
    <servlet>
    <servlet-name>CaptchaServlet</servlet-name>
    <servlet-class>nl.captcha.servlet.SimpleCaptchaServlet</servlet-class>
    <init-param>
    <param-name>width</param-name>
    <param-value>250</param-value>
    </init-param>
    <init-param>
    <param-name>height</param-name>
    <param-value>75</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>CaptchaServlet</servlet-name>
    <url-pattern>/captchaservlet.jpg</url-pattern>
    </servlet-mapping>
    2 - Managed Bean :
    public void callMethod() {
    FacesContext fctx = FacesContext.getCurrentInstance();
    ExternalContext ectx = fctx.getExternalContext();
    HttpServletRequest request = (HttpServletRequest)ectx.getRequest();
    Captcha captcha = (Captcha)ectx.getSessionMap().get(Captcha.NAME);
    try {
    request.setCharacterEncoding("UTF-8");
    } catch (UnsupportedEncodingException e) {
    //bad luck - but ignore
    System.out.println("UTF not supported !");
    String answer = (String)ectx.getRequestMap().get("bestGuess");
    if (answer != null && captcha.isCorrect(answer)) {
    sendMail();
    SendMail_ToExternal();
    } else {
    fctx.addMessage(null,
    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Please write the number shown in the Picture",
    null));
    i am download the Captcha JAR from Oracle : http://www.oracle.com/technetwork/developer-tools/adf/learnmore/index-101235.html , Download Captcha an using it as Task Flow to deploy it on webcenter spaces, but as i told you when i Run this code from JDeveloper working correctly, but the problem when i deploy it on webcenter spaces the Servlet code with image not appear. i wanna to know if servlet code working with deployed task flows on webcenter spaces or not ?
    Please Advise..
    Thanks

    Dear Bijesh Krishnadas,
    I did not add the servlet configuration to webcenter spaces yet, just add the Servlet to web.xml to ADF application, i will try to do the steps you are sent to me ? many thanks Bijesh Krishnadas

  • [ER] show use of task-flow template in task-flow

    Hi,
    while using task-flow templates in my current project I found it annoying that you can't see any hint the a task flow is based on a task-flow template.
    When using a page template the designer show the elements of the template as read only objects. So everybody can see that the page has a template underneath it.
    It would be a great help if we at least could have an icon in the task-flow showing that there is a template underneath this flow. Otherwise the information in the flow template will only be known for a short time and then forgotten. Is something goes wrong (or needs to be changed), it's hard to find out where changes need to be applied.
    Environment:
    JDEV 11.1.1TP4
    JDK1.6_06
    embedded OC4J
    Thanks
    Timo

    Hi,
    I filed an ER
    Frank

  • Is it possible to use Webcenter task flows i.e. Poll Service in a custom ADF application?

    We can use the Poll service in our WebCenter Portal application. Is it possible to configure an ADF web application to use WebCenter Portal's task flows? How can we achieve this requirement?

    Hi.
    There is a link that points here: http://www.oracle.com/technetwork/indexes/samplecode/jdeveloper-adf-sample-522118.html
    Oracle JDeveloper and ADF Sample Code
    Contains a Polls Demo Client and Admin Console Taskflows
       The Poll taskflow installed is a sample application. It is not part of an Oracle product.
    These are not supported by the standard Support processes.
    Sample Code for Developers and Admins
    Download the sample code and scripts here to learn or help accelerate your own development or admin efforts. You may modify (but not redistribute) sample code.
    Sample code is not certified or supported by Oracle unless explicitly identified to be; it is intended for educational or testing purposes only.

  • Deploying the SCCM 2012 Client to WES 7 devices that are locked down with the FBWF using 2007 task sequence via WEDM.

    I'm wondering how people are migrating their embedded devices that are using the FBWF. I've done some googling and it seems like most people are just re-imaging the devices and after migrating a single device i see why. Its not a pretty process. This will
    be a long description but ultimately my question stems more from trying to find a better way to execute the device migration from 2007 to 2012.
    Some back ground on my situation might be in order here. I'm in the process of wrapping up our 2007 to 2012 migration. We have a 2007 infrastructure that was a central server with 2 primaries and 286 secondary site servers. I've consolidated that to a single
    2012 primary site server that hosts all the main roles. There are 2 more servers in the data centers both operating solely as push distribution points I'll refer to them as 2012 01 02 and 03. I'm over half way through the migration and so far haven't needed
    to offload any site roles. There are almost 10,000 clients now reporting to the 2012 site server and almost a 100 field servers pulling content from 2012 02 as their source dp as pull dp is the only way forward for this many devices. I've read the horror stories
    of trying spin up 200 plus push dps. We are running PKI. I'm at the point now where i need to start migrating the Windows Embedded Seven Standard clients that have the 2007 sccm client on them with WEDM for write filter handling.
    What i'm wondering is if anyone has any pointers for me regarding migrating the WES 7 devices. My plan that i've come up with is to somehow script the process using a 2007 WEDM Task Sequence to try and migrate them over to 2012. Things are complicated as
    I need to somehow script the install, the policy checkin, hardware inventory, software inventory, and validate the SCEP client installs before I reboot the device one last time to enable the FBWF. How I handled the SCCM 2007 client install on these devices
    when they were provisioned was to just create a batch file that would sleep for ten minutes then check to see if the inventoryagent.log file had been created yet. I realize now that is inefficient as i can kick off the inventory using a WMI method once the
    client has installed. Also I need to make sure the machine gets its first policy as that is how it creates the communication using PKI through that first policy transfer and that also finalizes the client install. The biggest piece i'm uncertain about in this
    regard is the SCEP client.
    I had to change the SCEP client install from yes to no in the default client settings as we have some Mcaffee servers that can't have the SCEP client on them. I have incremental updates enabled on the collection that has the policy that installs the SCEP
    client but this will take an unknown amount of time unless i force the environment to update as the device starts in 2012 install, or if I could kick off the SCEP isntall... IDK. I'm also wondering if i should keep the device in the migration process until
    i validate it has its proper scep policy applied which I believe can be validated by a registry key somewhere.
    Once the 2012 client gets installed will that cause it to lose its place within the 2007 Task Sequence? Considering its going to take a minimum of 2 reboots I'd normally use the task sequence to handle its progression through the process.
    I'm also considering trying to use an Orchestrator runbook, as that would be a good way to keep track of the migration process as each device migrates. Especially since this might take several seperate scripts.
    I'm going to take a stab at scripting the migration process, but if anyone has any pointers that might make this a less complicated I'd really appreciate it as I've got about 3000 of these devices that need to be migrated over. The other things i've learned
    the hard way is any time you have something this complicated over the course of 3000 devices you will run into unknowns and the failure rate increases. I'm in the precarious position of having to not only build this process out but in some situations have
    it complete in the shortest amount of time possible as we have sites running 24x7. I know the end users behavior all to well and they will just keep hitting the power button sometimes even though their not supposed to so they can get their device functional
    again. In those situations i'd end up, if i'm lucky with a device that no longer has a healthy SCCM client in either environment and the write filter disabled.
    So like i said any pointers anyone could throw my way i'd really appreciate. I manually went through the migration process on a single device for proof of concept and ended up with almost 2 pages of pseudo code for my migration script/scripts.
    Thanks,
    -K.R.

    Hi,
    In R2 there are some new variables you can use to solve this,
    http://ccmexec.com/2014/12/smstsmplistrequesttimeout-value-in-milliseconds/
    In Sp1 though adding a step to sleep for 2-5 minuter after reboot and before the application install step is a common workaround.. a powershell command with "Start-Sleep
    -s 120" should do it. 
    /Jörgen
    -- My System Center blog ccmexec.com -- Twitter
    @ccmexec

  • How to insert values in table using ADF Task flow? I am not able to bind CreateInsert on my first page fragement

    Hi,
    In Jdeveloper 12c I am trying to create a task flow where I have taken 3 pages to insert values in a table. On first page when I put data control of 2 columns as input with label, then on bindings tab I created an action as CreateInsert.
    Now when I am trying to create invoke action in executables then this option is not available.
    How can I create this task flow where values can be inserted in the table on the 3rd page fragment on commit button???
    All 3 pages have data control input boxes to insert values in the table.

    Hi,
    Right click on the task flow page activity, click create page def and add there. If your activity is a page, then you can select the page and generate the pagedef as well.
    Then you can add the executables.
    Thanks.

  • How to make Robocopy run in the foreground using Scheduled Tasks

    Hello everyone! 
    I am doing a daily backup using Robocopy and Scheduled Tasks running Windows 2012 Server. When it runs, robocopy runs in the background and does not write to log that I am pointing to. How can I make it run in the foreground? Also, is there anyway to write to log only those records that have been copied or purged? what are the best practices for robocopy use?
    Here is the script:
    date /t >> log.txt
    time /t >> log.txt
    ROBOCOPY \\CENTURY1\d$\ f:\  /MIR /R:0 
    time /t >> log.txt
    This topic first appeared in the Spiceworks Community

    Hello everyone! 
    I am doing a daily backup using Robocopy and Scheduled Tasks running Windows 2012 Server. When it runs, robocopy runs in the background and does not write to log that I am pointing to. How can I make it run in the foreground? Also, is there anyway to write to log only those records that have been copied or purged? what are the best practices for robocopy use?
    Here is the script:
    date /t >> log.txt
    time /t >> log.txt
    ROBOCOPY \\CENTURY1\d$\ f:\  /MIR /R:0 
    time /t >> log.txt
    This topic first appeared in the Spiceworks Community

  • Task Flow Transaction Behavior and AM Activation/Passivation

    Hi All,
    In my app, when I changed the transaction behavior from 'No Controller Transaction' to 'Use Existing Transaction If Possible', I started seeing the following type of AM Passivation snapshot is JDev log:
    <ADFLogger> <begin> Passivating Application Module
    <PCollManager> <resolveName> [3560] **PCollManager.resolveName** tabName=PS_TXN
    <DBTransactionImpl> <getInternalConnection> [3561] Getting a connection for internal use...
    <DBTransactionImpl> <getInternalConnection> [3562] Creating internal connection...
    <ADFLogger> <begin> Establish database connection
    <DBTransactionImpl> <establishNewConnection> [3563] Trying connection: DataSource='weblogic.jdbc.common.internal.RmiDataSource@4d0ca0'...
    <DBTransactionImpl> <establishNewConnection> [3564] Before getNativeJdbcConnection='weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection
    <DBTransactionImpl> <establishNewConnection> [3565] After getNativeJdbcConnection='weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection
    <ADFLogger> <addContextData> Establish database connection
    <ADFLogger> <end> Establish database connection
    <OraclePersistManager> <syncSequenceIncrementSize> [3566] **syncSequenceIncrementSize** altered sequence 'increment by' value to 50
    <ViewObjectImpl> <doPassivateSettings> [3567] DateTimeVO1 passivating with paramsChanged
    <Serializer> <passivate> [3568] <AM MomVer="0">
    <cd/>
    <TXN Def="1" New="0" Lok="2" tsi="0" pcid="40"/>
    <CONN/>
    <VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRoutingMainVO" Name="BaseRoutingMainVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRoutingDetailsVO" Name="BaseRoutingDetailsVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseParameterVO" Name="BaseParameterVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseErrorLookupVO" Name="BaseErrorLookupVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseCompDataHdrVO" Name="BaseCompDataHdrVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseCompDataDtlVO" Name="BaseCompDataDtlVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseDataReqValVO" Name="BaseDataReqValVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRegistrationPointVO" Name="BaseRegistrationPointVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTradingPrtnrInfoVO" Name="BaseTradingPrtnrInfoVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTradingPrtnrVerCtrlVO" Name="BaseTradingPrtnrVerCtrlVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseNotificationVO" Name="BaseNotificationVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTransactionDefVO" Name="BaseTransactionDefVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseValidationTypeVO" Name="BaseValidationTypeVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.OrigTransDetailsVO" Name="OrigTransDetailsVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS TRADING_PARTNER_ID FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransErrorVO" Name="TransErrorVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DateTimeVO" Name="DateTimeVO1">
    <exArgs count="1">
    <arg name="TimeZone">
    <![CDATA[GMT]]>
    </arg>
    </exArgs>
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT CurrentTime FROM
    SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'GMT' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE+5.5/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'IST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-8/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'PST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-6/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'CST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-5/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'EST' AS TZ FROM DUAL
    WHERE TZ=:TimeZone) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[0000000000010000013239013AC4]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransTrackingVO" Name="TransTrackingVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransDependencyVO" Name="TransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO2">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS TRADING_PARTNER_ID FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ReceiverTransDetailsVO" Name="ReceiverTransDetailsVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransIDBaseVO" Name="TransIDBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (select 1 AS transaction_record_id from DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[000100000002C102]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransKeyBaseVO" Name="TransKeyBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS document_key FROM dual) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransStatusBaseVO" Name="TransStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS STATUS FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ErrorTypeBaseVO" Name="ErrorTypeBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS ERROR_TYPE FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DependencyBaseVO" Name="DependencyBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS DEPENDENCY FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.MasterTransDependencyVO" Name="MasterTransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TrackingVO" Name="TrackingVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ErrorVO" Name="ErrorVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransErrorVO" Name="DashboardTransErrorVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransDependencyVO" Name="DashboardTransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransPieVO" Name="DashboardTransPieVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardMasterTransBarVO" Name="DashboardMasterTransBarVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ReceiverTransStatusBaseVO" Name="ReceiverTransStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS STATUS FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ErrorStatusBaseVO" Name="ErrorStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS ERROR_STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderVO" Name="HeaderVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO3"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.HeaderStatusBaseVO" Name="HeaderStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO4"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.HeaderSourceFileNameBaseVO" Name="HeaderSourceFileNameBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS SOURCE_FILE_NAME FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DependencyStatusBaseVO" Name="DependencyStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS DEPENDENCY_STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216382156" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderSourceFileNameLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_HeaderSourceFileNameBaseVO_HeaderSourceFileNameLOVVO1"/>
    <VO sig="1315216384812" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ReceiverTransStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_ReceiverTransStatusBaseVO_ReceiverTransStatusLOVVO1"/>
    <VO sig="1315216385921" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_HeaderStatusBaseVO_HeaderStatusLOVVO1"/>
    <VO sig="1315216387093" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ErrorStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_ErrorStatusBaseVO_ErrorStatusLOVVO1"/>
    <VO sig="1315216388171" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DependencyStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_DependencyStatusBaseVO_DependencyStatusLOVVO1"/>
    <VO sig="1315216393937" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransIDLovVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_TransIDBaseVO_TransIDLovVO1">
    <VC n="__ImplicitViewCriteria__" d="true" c="0" bv="true" m="1" j="false">
    <vcp>
    <p n="showInList" v="true"/>
    <p n="displayName" v="Implicit Search"/>
    </vcp>
    <Row n="vcrow1" uc="0" cj="0">
    <a i="0">
    <i o="=" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0"/>
    </i>
    </a>
    <a i="1">
    <i o="STARTSWITH" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0"/>
    </i>
    </a>
    </Row>
    </VC>
    <VC n="LOV_TransactionRecordId__lov__filterlist__vcr___" d="true" c="0" bv="true" m="3" j="false">
    <Row n="LOV_TransactionRecordId__lov__filterlist__vcr___" uc="0" cj="0">
    <a i="0">
    <i o="=" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0">
    <![CDATA[40532]]>
    </iv>
    </i>
    </a>
    </Row>
    </VC>
    </VO>
    </VO>
    </AM>
    <OraclePersistManager> <insert> [3569] **insert** id=1, parid=-1, collid=65951, keyArr.len=-1, cont.len=10035
    <OraclePersistManager> <insert> [3570] stmt: insert into "PS_TXN" values (:1, :2, :3, :4, sysdate)
    <OraclePersistManager> <commit> [3571] **commit** #pending ops=1
    <ADFLogger> <end> Passivating Application Module
    My question is does AM gets passivated on each request. This snapshot is not visible when Transaction behavior is set to 'No Controller Transaction'.
    This type is snapshot is usually visible in case of 'No Controller Transaction', when AM Pooling is off or if AM Pooling is enabled then Failover support is on.
    Is this OK for this snapshot to appear in JDev log or am I missing something?

    this might be helpful, can u chk
    The subtle use of task flow "No Controller Transaction" behavior
    http://blogs.oracle.com/raghuyadav/entry/adf_taskflow_transaction_manag
    http://andrejusb.blogspot.com/2010/01/demystifying-adf-bc-passivation-and.html

  • Use task flow or simple pages in CRUD?

    Hello,
    using JDeveloper 12c.
    In my case I use task flow to create a simple CRUD, i have two task flow, for it in the first I have a employees table and a button to create a new employee, the button has an action to go to another task flow where I have a Method call of CreateInsert which in turn go a view activity that has a form to create an employee.
    The problem is, when committing task makes a return to the main flow but the table not refreshes with the new employee, every task flow isolated handled transactions.
    I recommend, work the CRUD with task flow or single pages?
    thank you very much in advance.

    thank you very much, I got the exact answer, thank you very much again.

  • Unable to extract all the currencies using Task Flow

    Hi Everyone,
    I have 60 currencies that I extract using a Task Flow in HFM 11.1.2.1 to a SQL table, I only receive 59 of those currencies FX Rates in the SQL table. The CNY currency does not extract at all.
    I have tried changing the PoV around with no success. I don't think it is the PoV anyway because the other 59 currencies have no problem.
    Any inputs please...
    Regards,
    Vinod

    Sounds like this is using an EA extract process. In your Task Flow, can you extract just that one (CNY) currency? If you do this directly in Extended Analytics, is the output any different from the Task Flow? How about if you extract to a text file rather than SQL?

Maybe you are looking for

  • Schedule background job with different user

    hi , i want to schedule a background job under a different user i have used the parameter AUTHCKNAM of 'job_submit' it is giving sy-subrc = 0 . but it is not working i have also used the FM 'bp_job_create' in place of 'job_open' it is giving sy-subrc

  • Can't sync 3gs, iOS 5, XP, Outlook 2007

    I upgraded my 3gs last night from my Mac at home.  Everything went fine, nothing lost. Today I tried to sync the calendar on my work PC, Windows XP, Outlook 2007 after upgrading to the latest version of iTumes.  I have been doing this for well over a

  • SSO in Solution Manager 7.1 between webdynpro and abap

    HI, when i try to launch a webdynpro ( http://myhost.mydomain:8000/sap/bc/bsp/sap/crm_ui_start/default.htm) application from abap it's always asking for a logon. Is it possible to have SSO configured? I have created ssl certificate in strustsso2 and

  • Why cant i make the blackberry storm 1 prepaid!!??

    Why cant i make the blackberry storm 1 prepaid!!??

  • Why won't my camera work after I update my Iphone 3GS to IOS 6.0.1?

    After I updated my phone to IOS 6, it worked fine. But once I updated to IOS 6.0.1, my camera will no longer work. Sometimes it freezes my phone, and my phone goes through 2 resets. Sometimes it just sits at the screen waiting for the shutter to open