Persistence Layer Analysis

Hi Experts,
     what do we check in Sxmb_moni - Integration Engine Monitering - Persistence Layer Analysis.
and the utility of the tab - Status records for sync / async communication.
Regards,
Arnab .

Hi Arnab,
Status records for sync / async communication
USE:
   You use the monitor for sync/async communication to display status information about persisted      messages where a coupling of synchronous and asynchronous processing has occurred.
The status monitor for sync/async communication provides the following information as the default:
·        The number of active synchronous calls that are still waiting for a response
·        The number of processes with errors (synchronous calls) whose status has not yet been deleted
·        A table containing status information about the involved synchronous request messages
The system displays the following status information:
¡        The overall status with a green, yellow, or red traffic light
Activities
In the status monitor for sync/async communication, you can execute the following activities:
·        Close all processes with errors.
·        Update the entire display by choosing Update in the application function bar.
·        Update the table of displayed messages by choosing Update in the table symbol bar.
·        Navigate from the list of displayed messages to the corresponding workflow log. To do this, click the message ID of the respective message.
Regards
Praveen K

Similar Messages

  • Persistence Layer Analysis - where to set Maximum Number of tbale entries?

    Hi gurus,
    I need to increase this value. Can you please let me know where to set it up?
    Thank you. Olian

    Hi Olian,
    Open table SXMSPMAST in se11 and goto technical setting set the value Size Category to 6 or 7 from default value 4 according to ur req.
    Thanks!

  • SXMB_MONI : Error in Persistence Layer : XML Message Not Found

    Hi Team,
    There are some messages in our Production system and is in Scheduled state in SXMB_MONI and when we try to re-process those messages, we are getting message : Error in Persistence Layer and when we double click on message, we are getting the error : XML Message Not Found.
    Any help on this is highly appreciated.
    Thanks & Regards,
    C V Jayachandra

    Hi,
    Please refer the below discussion
    SXMB_MONI - Error accessing persistence layer
    regards,
    Harish

  • Design of reusable data persistence layer with single container

    Hi,
    I am designing an 3-tier application using cmp for my data persistence layer (DPL). The customer now wants to run multiple versions of the application on one server using different data sets for each application. One solution I see, but don't like very much, is to add an application ID to each enity bean in my DPL. However, I would rather run multiple DPL's on different databases and reuse my business logic layer and my presentation layer. Has anybody solved this problem or see the obvious solution that I am missing here?
    Thanks a lot,
    Sandigo.

    Hi KPSeal,
    there is absolutely no relation between the different versions of the application. Although I would prefer to run a single business logic layer it is very much an option to have different versions of the entire application. Could you elaborate on how I would achieve these different versions? Would I have to rewrite the deployment descriptors so that each bean can exist twice or would that give me two instances?
    Thanks,
    S.

  • SXMB_MONI - Error accessing persistence layer

    Hi,
    In SXMB_MONI there are messages with status "system error manual restart possible" and "scheduled". when i try opening those messages it says "XML message not found". I no longer need those messages and want to delete them. But when i try to cancel those messages it says " Error accessing persistence layer". 
    Is there any way by which I can delete those messages?
    Regards,
    Mateen.

    Hi Meetan
    refer these thread for the same may be helpful for you
    IS_Retry and RSXMB_RESTART_MESSAGES
    release queue
    BPM error
    /people/krishna.moorthyp/blog/2005/11/28/inactive-integration-process-ip-at-run-time
    Thanks!!

  • Integration Engine Persistance Layer Analysis

    Folks,
    These are the entries in Persistance Layer Analysis
    <i><b>Current Table Load
          Number of Table Entries                                                 338,417
          Maximum Number of Table Entries                                         890,000
          Current Fill Level in %                       </b></i>                               38
    Can anybody tell me how to increase the Maximum Number of Table entries ?
    Records,
    Manish

    In case anyone else has this same problem, I asked SAP:
    "This is only a theoretical value. This value was calculated by DDic. Depending on table size category, DB Hardware,etc. You can see this value by the table size category. ( Transaction SE11 (table e.g. SXMSPMAST) -> Technical Settings -> Sizecategory )
    The description is:
    The size category determines the probable space requirement for a table in the database.
    You can select the categories 0 to 4 for your table. Each category is assigned a specific fixed storage area value in the database. When you create a table, initial space is saved for it in the database. If more space is required later as a result of data that has been entered, the storage space is increased in accordance with the category selected.
    Press F4 on the field Size category to see the number of data records that can be maintained for the individual categories of your table without complications ensuing. These complications could be for example a reorganization becoming necessary because the maximum space to be
    reserved for the table was exceeded due to the maintained size category."

  • Persistence Layer.

    Hi All,
    Currently, the sql query is inside the Business Object in my program. I would like to separate out the query (or persistence part) to a different layer. I need some help in the best way to design this. I like to have a 5 Tier Arch.
    User Interface (JSPs) + Front Side Controller (Servlet) + Business Objects + Back Side Controller (???) + Persistence Layer (???).
    Please help me with how to separate Business Objects from Persistence. This should also support connecting to different databases.
    Manjunath

    Create a new package, design classes that do all your database work( retrieve insert etc. ) in the new package. The requirement is this package should compile without any other classes from Front Side Controller (Servlet) + Business Objects + Back Side Controller (???).
    This package is your Persistence Layer fully decoupled from the rest. Use your judgement in the decoupling.

  • Need for persistence layer?

    I don't know if this is the correct forum but this is my question:
    Me and my colleague build a project that can be deployed on Oracle AS and Tomcat (struts DAO pattern). We have two database both are Oracle, one already exist and the other is a new Oracle DB(both are on different machines). We put db link on the two databases so we can have single queries on the tables of the 2 different DB. We also have web services for stored procedure calls. Now my question is do we need a persistence layer(e.g. Oracle Toplink, hibernate) to access the database object of the two different databases?

    thanks fo the idea ram. im only just confused if i needed the mapping.. in this case DAO is enough.

  • Persistence Layer deployed as Optional Package

    Environment:
    - WebLogic 11g which consequently means EJB 3.0
    - Application has 3 modules: Web (referencing EJB and Persistence), EJB (referencing Persistence) and Persistence
    Could I deploy my persistence layer as an Optional Package or does it have to be a Shared Library?
    The reason I'm asking is that when I try to deploy my EJB module, WLS can't find the persistence unit being inject to it:
    Unable to deploy EJB: StocksBean from BLayer-1.0.0-SNAPSHOT.jar: No persistence unit named 'internalAppsPU' is available in scope BLayer-1.0.0-SNAPSHOT.jar. Available persistence units: []
    Persistence module is basically a JAR file deployed as an Optional Package with following in its Manifest:
    Extension-Name: PersistenceLayer
    Implementation-Version: 1.0.0-SNAPSHOT
    Specification-Version: 1.6
    in EJB's code I have:
    @Stateless(name="StocksBean", mappedName="StocksBean")
    public class StocksBean implements Stocks {
         @PersistenceContext(unitName = "internalAppsPU")
         private EntityManager em;
    and in EJB's JAR file I have:
    pLayer-Extension-Name: PersistenceLayer
    pLayer-Implementation-Version: 1.0.0-SNAPSHOT
    pLayer-Specification-Version: 1.6
    I'm deploying these one by one and not as an Application.

    Hi Arun,
    Thank you so much for taking time and responding. I'm still having the same issue.
    You see, I had the exact same problem when my persistence Entities were in the same Jar file as EJBs and I found out the problem was the name of the persistence.xml file (which was "Persistence.xml") and also the version of the namespace used in the XML file which conflicted with version of JPA's spi (version of JPA's spi in JEE1.6 is 1.0 and I was using version 2.0 of the namespace).
    However, I got that fixed and now I'm trying to separate the layers (just moved the files around and didn't change the content). Here is what I have so far:
    Name of Persistence Layer's JAR file: PLayer.jar
    Manifest of Persistence Layer's JAR file:
    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Created-By: Apache Maven
    Built-By: bm03043
    Build-Jdk: 1.6.0_18
    Extension-Name: PersistenceLayer
    Implementation-Version: 1.0.0-SNAPSHOT
    Specification-Version: 1.6
    Name of EJB's JAR file: BLayer-1.0.0-SNAPSHOT.jar
    Manifest of EJB's JAR file:
    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Created-By: Apache Maven
    Built-By: bm03043
    Build-Jdk: 1.6.0_18
    Extension-List: PLayer
    PLayer-Extension-Name: PersistenceLayer
    PLayer-Implementation-Version: 1.0.0-SNAPSHOT
    PLayer-Specification-Version: 1.6
    I didn't know that Extension-List entry in EJB's jar file should match with the name of Persistence layer's jar file.
    As for deployment, I deploy the Player and then EJB.
    Appreciate any input.
    Edited by: Keibi on Apr 26, 2012 11:30 AM

  • Persistence Layer return convention issue and question - null vs. exception

    I'm writing a position paper on persistence layer query returns. It deals with querying for a single object or a collection of objects and what to do if the object or collection of objects are not found in the database. I've googled many different search terms and have not come up with any authoritative references for this scenario. Do any of you know of any sources that have discussed this before?
    My current logic is that when searching for a single object in a persistence layer that the persistence layer should return a simple null if the object isn't found. If searching for a collection of objects then the PL should return an empty collection object.
    1.
    /** Returns a list of objects that match the non-null fields in the provided example object.
    This will return an empty Collection if no matching objects are found */
    public Collection retrieveByExample(MyBO example);2. /** Returns a business object.  This will return a null if no matching object is found */
    public MyBusObject retrieveById(int aMyBusObjectId);These two methods would not return a "checked or unchecked" exception if the object(s) are not found. I think that they are the simplest to implement and do not break the convention of not using exceptions in non exceptional situations. I don't feel that it is the persistence layer's responsibility to make a business decision on an object's existence being an exception. There are many times where applications search for an object to see if it exists or not and then proceed to create the object or use the object if it exists or doesn't. These two methods also don't force using application layers to catch or throw any declared exceptions.
    Notes on scenario 1: program control flow is simple by using an iterator and hasNext(), if the collection is empty then any code that needs the objects can be skipped.
    Notes on scenario 2: program control flow is simple in this case with a " != null or == null check. If the method returned an uninitialized object instead of null then the calling application would have to have additional business logic to tell whether the object was truly uninitialized or not. I can see the method having a UnexpectedMultipleBusinessObjectsFoundException if more than 1 object is found since the method is looking by primary key, but would this ever happen if searching by primary key. However in a similiar method that searches on non primary key then the UMBOFE would be warrented. Any thoughts?
    Others have brought up some additional scenarios.
    3. /** Returns one and only one business object from persistence with a matching primary id. 
    If one and only one match is not found, null is returned if isLenient is true, otherwise an exception is thrown. */
    public MyBusObject retrieveById(int aMyBusObjectId, boolean isLenient) throws BusinessObjectNotFoundException;I feel this option is bad in that it forces the calling or using application layer to still declare the BusinessObjectNotFoundException. It adds bulk and unneeded complexity to the the code.
    While looking at it I can see that since a caller is searching for exactly 1 object then if the query finds more than one object then a UnexpectedMultipleBusinessObjectsFoundException could be thrown. But I don't believe an NotFoundException is warranted. What are your thoughts?
    Message was edited by:
    smalltalk

    Hibernate (for example) actually does both.
    public Object get(Class clazz, Serializable id) throws HibernateException - "Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance. (If the instance, or a proxy for the instance, is already associated with the session, return that instance or proxy.)"
    public Object load(Class theClass, Serializable id) throws HibernateException: "Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists.You should not use this method to determine if an instance exists (use get() instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error."
    Certainly get is the more commonly used of these methods.
    If you are returning something like an array I believe it is always preferable to return a zero length array rather than null to save the extra client code.

  • Platform and persistence layer in package setup

    we are attempting to set up packages for MI7, and have come to the stage of
    "5.      Choose the platform and persistence layer you want to generate the setup package for. The package can be created for one platform only."
    However when we select the picklist for the platform and persistence they are empty.  How do we populate this information?
    Thanks
    Marina

    Hi,
    do you already have MI client installation files uploaded to your landscape.
    Each .sda file from mobile contains a description of what the uploaded file is all about, e.g.:
    <?xml version="1.0" encoding="utf-8"?>
    <mobile_component>
         <mcd_namespace/>
         <mcd_name>MOBILEENGINE_AWT</mcd_name>
         <mcd_version>701300</mcd_version>
         <mcd_create_date>20070518</mcd_create_date>
         <mcd_create_time>081314</mcd_create_time>
         <mcd_created_by>SAP</mcd_created_by>
         <mcd_modify_date>00000000</mcd_modify_date>
         <mcd_modify_time>000000</mcd_modify_time>
         <mcd_modified_by></mcd_modified_by>
         <memsd_text>
              <description>
                   <language>D</language>
                   <text>SAP Netweaver Mobile Client</text>
              </description>
              <description>
                   <language>E</language>
                   <text>SAP Netweaver Mobile Client</text>
              </description>
         </memsd_text>
         <memsd_prop>
              <property>
                   <property_type>CLIENT.BUILDNUMBER</property_type>
                   <value>200705180805</value>
              </property>
              <property>
                   <property_type>HOMEPAGE.INVISIBLE</property_type>
                   <value>X</value>
              </property>
              <property>
                   <property_type>PLATFORM</property_type>
                   <value>WINCE</value>
              </property>
              <property>
                   <property_type>RUNTIME</property_type>
                   <value>AWT</value>
              </property>
              <property>
                   <property_type>TYPE</property_type>
                   <value>FRAMEWORK</value>
              </property>
              <property>
                   <property_type>COMPONENT_FILE</property_type>
                   <value>NWM_AWT_WINCE.zip</value>
              </property>
         </memsd_prop>
         <memsd_dep/>
         <memsd_cust>
              <customizing>
                   <cust_attribute>ROLEASSIGNEMENT</cust_attribute>
                   <cust_index>0000000001</cust_index>
                   <attribute_name>DEFAULT</attribute_name>
                   <attribute_value></attribute_value>
              </customizing>
         </memsd_cust>
    </mobile_component>
    You can see the PLATFORM and the RUNTIME tags here, those should be populated to the corresponding backend tables, I guess.
    Cheers
    stefan

  • Accessing LCDS Persistence Layer for use in Server-Side Business Logic

    Within server-side business logic, I want to be able to get a persisted object from LCDS, manipulate  that object, and then use LCDS to persist those changes to the database  as well as send those changes to the client.
    Is it possible to access LCDS' persistence layer (Hibernate) to be used by server-side business logic?
    I have attempted to use DataServiceTransaction.getItem(...).  However, for objects that contain a collection of other objects I get this error:
    [LCDS] Runtime exception while trying to fetch a property from hibernate: flex.data.DataServiceException: There is no current message broker to return.
    When calling DataServiceTransaction.updateItem(...) for objects that contain a collection of other objects, I get this error:
    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.sd.pojo.Book.chapters, no session or session was closed
    Also, it appears that DataServiceTransaction.updateItem does NOT update the database?
    I have resorted to building my own Hibernate SessionFactory, but that seems unnecessary.
    One other piece of information is that I am using the Fiber modeling tool to build and deploy the model to the server.  I am generating the Java classes with Fiber and making them available to be used on the server.
    Thanks,
    Collin

    Thanks for the help guys.
    I guess what I'm really trying to get straight in my own mind is whether supporting interraction and control of eJB database interraction is still using the same functionality as having a stand alone app interracting with a db.
    I'm thinking about; the implications of using eJBs specific query language and the different way in which eJBs use db connections (either for the period of their lifetime or just for the duration of one interaction) compared with a stand alone app, which would maintain a connection to the database(s) while it is open.
    Connection pooling and caching of DB objects is often quoted as being a middle tier activity, but what does this mean when all 3 tiers reside on the same machine?
    Once again thanks for your comments and advice.
    Mark

  • About the bottlenecks in persistence layer

    Hi,
    is there anyone who would like to share to strategies for avoiding persistence layer bottlenecks (lazy loading, for example).
    I'm not really interested in discussing the technologies itself (like hibernate of jdo), but i'm sure really interested in what they do behind the scennes to make it work.
    Thanks,
    ltcmelo

    Lazy loading is a good strategy that helps improve performance when your app is doing alot of reads.
    In general if you REALY need to improve performance - caching data in your business tier is a good strategy, but implemenation can be quite compex if you need to do many updates to the cached data.
    Write-through cache implemenation is usually very efficient.
    Implementing it is relatively straightforward if you have one app server instance for your business tier, but gets exponentially more complex if you have a cluster.
    And remember the first rule of optimization: DON'T OPTIMIZE :) Just throw in better/faster hardware and try to stick to standard optimization features provided by your application server.

  • Integrating Flex and Persistence Layer like Hibernate3

    How we can integrate Flex with any Persistence layer like
    Hibernate 3 ?
    any link, resource ?

    Hibernate is an open source implementation of the Java
    Persistence spec. Though it preceded JPA, and in fact influenced
    the final design, it has been retrofitted to implement the full
    spec (along with some extensions that I won't cover here).
    Hibernate is one of several implementations available, but because
    it is complete, mature, and freely available. Much like JDBC, if
    you stick to the spec and don't use any of Hibernate's extensions,
    you will be able to switch implementations as your needs change in
    the future.

  • Querying in coherence cache configured with persistence layer

    Since querying in Coherence takes into account only those objects that are already in cache, are there any commonly used techniques for improving query performance in scenarios where Coherence is used with database as persistent layer (to cache more data than it can fit in the memory)?

    Hi User,
    From the look of the error I'd guess you are running on Windows. Windows has a rather odd behavior of dropping your IP address if it detects a physical disconnection on the NIC, which ultimately results in a local cluster becoming unusable. Please see http://wiki.tangosol.com/display/COH35UG/Deployment+Considerations+-+Windows for details on how to address this.  Also considering that you are running everything on a single machine you may wish to explicitly bind to 127.0.0.1 (not localhost), to avoid issue entirely.  Note that binding to 127.0.0.1 is only supported starting with Coherence version 3.4, and you will also need to configure Coherence with a TTL of 0 to enable the loopback based cluster. See http://wiki.tangosol.com/display/COH35UG/unicast-listener#address, and http://wiki.tangosol.com/display/COH35UG/multicast-listener#time-to-live for details on these settings.
    thanks,
    Mark | Oracle Coherence

Maybe you are looking for