Right way to configure Tomcat JDBC resource for MaxDB

Hi,
i need to configure one tomcat server with a pool of connections for a MaxDB instance with follow database parameters:
MAXUSERTASKS=150
SESSION_TIMEOUT=60
i do this configuration on tomcat:
<Resource name="jdbc/myApp"
                auth="Container"
                type="javax.sql.DataSource"
                username="DBUSER"
                password="secret"
                driverClassName="com.sap.dbtech.jdbc.DriverSapDB"
                url="jdbc:sapdb://dbserver/DBNAME"
                maxActive="150"
                maxIdle="75"
                validationQuery="SELECT NOW() FROM DBA.DUAL"/>
is this the right way? there is a way to check if the pool is working at database side? at java side i checked that the javax.sql.DataSource.loginTimeout is Unavailable, then what is the better way to avoid errors like:
2008-06-02 13:54:36  2165 WNG 11824 COMMUNIC Releasing  T187 command timeout
i think that this problem occurs because the SESSION_TIMEOUT is 60, and the loginTimeout is Unavailable at javax.sql.DataSource then the DBCP of tomcat dont know when need to revalidate the session.
thanks for any help.
Clóvis

Hi Clovis,
to be honest, I'm no Tomcat expert at all. All I can do is read the documentation.
The error message you posted was about an timeout due to a too long idle session.
From the changes in your connection pool setup I cannot see any parameter that would influence this.
Instead - as already written - you may either want to change the session timeout in general, for the user or (by adding some connection parameters) for the sessions.
Concerning the question on wether it's better to have many connections or just a few - well this depends on what the java tasks do with the sessions.
The connection pool is used for saving resources on the database side and the time necessary to logon and create a session.
So whenever any of the java tasks needs a db connections it should "just get one" from the pool.
When you have "high load" (by the way what exactly does that mean? High CPU usage on the J2EE server? Huge transaction volume? Many parallel transactions?) this does not change.
Anyhow you have to be aware of the fact that the database can only process as many SQL requests in parallel as there are user kernel threads (UKTs) and each of the UKTs need to be able to run on a seperate CPU core. Therefore if it's necessary to have real parallel SQL activity many connections may not be the best idea.
On the other hand this requirement is seldom necessary - most often sessions can wait a bit until they get the reply from the database and synchronize on each other later on. At least that's how we do it with NetWeaver.
KR Lars

Similar Messages

  • Right way of configuring higher MTU over a Port Channel

    Hi guys,
    I have a running critical Port-Channel between two locations.
    Here's the config
    SW1:
    interface Port-channel2
     switchport
     switchport trunk encapsulation dot1q
     switchport mode trunk
    end
    interface GigabitEthernet1/45
     switchport trunk encapsulation dot1q
     switchport mode trunk
     channel-protocol lacp
     channel-group 2 mode active
    end
    interface GigabitEthernet1/46
     switchport trunk encapsulation dot1q
     switchport mode trunk
     channel-protocol lacp
     channel-group 2 mode active
    end
    SW2
    interface GigabitEthernet1/1
     switchport trunk encapsulation dot1q
     switchport mode trunk
     channel-protocol lacp
     channel-group 2 mode passive
    end
    interface GigabitEthernet1/2
     switchport trunk encapsulation dot1q
     switchport mode trunk
     channel-protocol lacp
     channel-group 2 mode passive
    end
    interface Port-channel2
     switchport
     switchport trunk encapsulation dot1q
     switchport mode trunk
    end
    Now I need to increase the MTU from default value to 9198. What the right way to do it and avoid any connectivity loss, PortChannel restart.
    Does it matter what switch I start first?
    Thanks!
    L.E. both SW are WS-C4948

    Hi,
    Because you are using layer 2 interfaces - there is no fragmentation support at layer 2, and interfaces receiving frames which have an unsupported size will be dropped.
    I think the best way for you to proceed is to lab this up; and verify what happens - it may be that you need to make changes on switches at either end of the channel within a very short time frame to prevent too large an outage.
     When you are ready to maike your change - think the best way to do this is to use the interface range command, and apply the 'mtu' command to all the interfaces in this range. I don't think it matters which switch you apply this change to first, and I don't believe if you are hinting at the 802.3ad (controlled by system-priority) decision maker, that it makes any difference.
    HTH
    Mike

  • Right way to configure TC

    Hi,
    I recently bought a TC 3rd gen with 2 TB HD.
    I have a wi-fi router (d-link dir 635) pluged into my brother's room wich is connected to the cable modem.
    The TC is located in my room and intend to extend my wirelless conection. What is the best setting to do that?
    Is it possible to creat, by this way, a guest network?
    Thanks

    Unfortunately, the TC is not compatible with the D-Link router if you are trying to connect using wireless only and extend the network.
    The TC will need to connect to the D-Link wireless router using an Ethernet connection....either a wired cable or via a pair of Ethernet power line adapters.
    The Guest Network option is not available in this type of configuration. In order for the Guest Network option to appear, the TC would need to be the device that is connected directly to the cable modem.

  • Configure BI JDBC system for VC

    Hello,
    I am new at VC and try to configure a BI JDBC system (BW 3.5) for VC. I have downloaded
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6209b52e-0401-0010-6a9f-d40ec3a09424
    (How to Configure a BI JDBC System for Visual Composer.pdf) but do not know how to proceed after step 8 where SDK_JDBC is required. In my Visual Admin --> Cluster tab --> Services --> Connector Container --> Runtime tab --> under sap.com/com/sap.ip.bi.sdk.dac.connector.jdbc node SDK_JDBC must be selected. However, such node does not exist, how can I install it? Please help!
    Thank you very much,
    Elias Negrin

    Hello Elias,
    Please see my comments on your last post below:
    > Hi Deep,
    >
    > In step 7 I have to specify location of JDBC JARs
    > provided by RDBMS vendor (<b>Oracle 9i</b> in our case). I
    > have already done step 6 where added <b>MSSQL </b>jar files
    > (JDBC Connector --> Runtime tab --> Datasources -->
    > Drivers). What am I missing?
    >
    > Thanks again,
    > Elias
    I highlighted in bold where the issue is, you went ahead and loaded the JDBC driver for Microsoft's SQL Server on the JAVA WebAS and not the JDBC driver for Oracle 9i, which is the RDBMS you are using. You can download the appropriate JDBC driver from the site below.
    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
    Once you have done this install the Oracle JDBC Driver and you should be fine.
    Good Luck,
    Cheers,
    Scott

  • What is the right way to change the active JInternalFrame for and MDI app?

    I am working on my own implementation of the window menu. The action that is triggered when a customer chooses a window to activate from the list in the menu is not behaving as I expected. The code I wrote (below) switches frames correctly but the caption bar never gets updated and if you restore a frame from an icon the frame is not correctly activated, there is even a restore button which if you push fixes things up and the frame then behaves normally     if (frameToActivate.isIcon ())  {
              //  Restore from icon
              desktopPane().getDesktopManager().deiconifyFrame (frameToActivate);
         desktopPane().getDesktopManager().activateFrame (frameToActivate);
         desktopPane().setSelectedFrame (frameToActivate);I did a search of the web and found a tip on JavaWorld (http://www.javaworld.com/javaworld/jw-05-2001/jw-0525-mdi.html) which led me to try doing this from a different angle - the JInternalFrame's point of view. This code works     try {
              if (frameToActivate.isIcon ())  {
                   //  Restore from icon
                   frameToActivate.setIcon (false);
              frameToActivate.moveToFront();
              frameToActivate.setSelected (true);
         } catch (PropertyVetoException error) {
              error.printStackTrace();
         }My question is why does the desktop based approach not work? If methods exist that appear to let you restore and switch between frames why are the ineffective? Am I missing something obvious that I should be doing?
    If using the JInternalFrame methods is the right way to go then I will It just seems like if the DesktopManager has methods that advertise that is supports managing the active frame then they should work. Before I ignore them I want to check with you to see if there is a right way to use them.
    Ian

    So, this is another batch of duke dollars I cannot assign - since I solved my own problem:-)
    I had an epiphany and tried setting break points to see what code was executed when you click on an inactive frame. From that I determined that DefaultDesktopManager.activateFrame, as implemented, does not activate the frame but acknowledges the activation of a frame and does a small amount of bookeeping work for the DesktopManager. So, the solution is the code I wrote to switch focus using the JInternalFrame's methods. Since I did not want to have to write those nine lines of code in the couple of places I want to programmatically switch the active frame I added a get/setActiveFrame method to my JDesktopPane derivative. In case others face this problem here is the code (warning I have not yet setup building the JavaDocs for this project so I cannot vouch for the validity of the JavaDoc, but the code does work):/**
    * Bring frameToActivate to the front (restoring from icon if neccessary) and make it the
    * selected frame.  This method does all the things required to switch the active frame for
    * an MDI application unlike: @link JDesktopPane.setSelectedFrame, which does not change the
    * focus; @link javax.swing.DefaultDesktopManager.activateFrame which does not correctly
    * handle iconified frames or switch the focus properly; and
    * @link javax.swing.JInternalFramesetSelected which also does not handle iconified frames.
    * @param frameToActivate the frame to bring to the front and become the active window
    * @throws IllegalArgumentException
    public void setActiveFrame (JInternalFrame frameToActivate) throws IllegalArgumentException  {
        if (frameToActivate == null)
            throw new IllegalArgumentException ("setActiveFrame a frame must be passed a non null valie.");
        try {
            if (frameToActivate.isIcon ())  {
                //  Restore from icon
                frameToActivate.setIcon (false);
            frameToActivate.moveToFront();
            frameToActivate.setSelected (true);
        } catch (PropertyVetoException error) {
    * This method returns the currently active frame.  This method returns the same frame
    * as <code>getSelectedFrame</code> and is provided for symetry for <code>setActiveFrame</code>. 
    * @return the currently active frame
    * @see LDesktopPane.setActiveFrame
    * @see javax.swing.JDesktopPane.getSelectedFrame
    public JInternalFrame getActiveFrame ()  {
        return getSelectedFrame ();
    }IL

  • What is the right way to do a sysprep Image for Windows 7 and 8

    Hi,
    i´d like to know which way is the right one to do a sysprepp from an System with Windows 7/8.
    Is it ok when I install the system with all drivers/patches etc. and after that I will open a command prompt with admin rights and choose the settings OOBE and Genrealize and Shutdown.
    After that I create an Image with ImageX or Acronis and I´m ready to deplay it right? The local user which I created during the installaton should stay as an Supportuser. 
    So is ok or is there something wrong. Microsoft itself shows this way here:
    http://technet.microsoft.com/en-us/windows/ee530017.aspx
    But they write a lot of other faq´s where they discribe other ways. So what is now right and wrong?
    Please don´t le my die stupid ;)
    Regards,
    The Core

    Hi,
    Any update here? Have you checked the links above?
    Regarding your concern, it is OK to install the drivers or patches before you Genrealize the image. And if we want to keep the drivers during sysprep in order to use it on the computers with the same hardware configuration, we should specify
    PersistAllDeviceInstalls  to true.
    Important: When you set up your reference computer, Windows Setup installs drivers for any detected devices. By default, Windows Setup removes these drivers when you generalize the system. If you're deploying the image to computers that
    have the same hardware and devices, you'll want Windows Setup to reinstall these same drivers. To keep these drivers on the computer during system generalization, set the Microsoft-Windows-PnPSysprep |
    PersistAllDeviceInstalls setting to true.
    The video shows the general steps using sysprep and imagex to capture the image. If you have no special requirements for drivers, or some applications need to be specific, just follow the steps. OOBE is a simple booting process, and audit mode is a process
    to specific the image. More information, see:
    Customize Windows in Audit Mode
    Any other concerns?
    Best regards
    Michael Shao
    TechNet Community Support

  • Error while configuring WebLogic Server Resources for PIP.

    Hi ,
    As per the documentation I am able to build all PIP cartridges.
    But while creating resources on weblogic I'm getting below error in build file.I'm following same instuction as per document.
    Unknown argument: -Daia.jdev.lib.dir= setupJPSPolicy
    Buildfile: E:\osm-workspace\OracleCgbuOsmAIAInstallation\OSM.AIAInstallation.xml
    BUILD SUCCESSFUL
    Total time: 2 seconds
    2.
    . Unknown argument: -Daia.jdev.lib.dir= setupPIPUsers
    Buildfile: E:\osm-workspace\OracleCgbuOsmAIAInstallation\OSM.AIAInstallation.xml
    BUILD SUCCESSFUL
    Total time: 781 milliseconds
    Is I’m missing some configuration in eclipse?
    I'm using below version.
    1. OSM-7.0.3
    2. Design studio-7.2.0.0.0
    Regards,
    UJ

    Hi,
    Issue is resolved.
    Value for property "aia.jdev.lib.dir" was missing in my build.xml.
    Regards,
    UJ

  • Configuration of JDBC drivers for ocnnecting from BOE to Oracle

    HI all,
    I am trying to configure jbdc drivers in solaris for connecting BOE 3.1 sP2 to oracle 10g database.
    issue is not able to create connection in universe designer using jdbc drivers
    i couldnt get the exact info on this, please provide me the steps for connecting to oracle through jbdc drivers, Thanks,
    Thanks
    Ram

    I am now up and running.  Several tips were found on both Adobe and Oracle sites that were helpful. Here is a brief summary of the steps:
    Step 1, download* the Oracle Database11G release 2 Client for Microsoft Windows x64. (not the Instant Client). Follow the instructions provided on the download site. Select just the items you need from the custom install form.
    Step 2, add your datasources using the Oracle Net Configuration Assistant**.  Select Local Net Service Name Config. Follow the prompts, answer the questions.
    Step 3, add your datasources on Windows 2008 Server with Administrative Tools Datasources. Similar to step 2.
    Step 4, in CF10 Administrator set up your datasources. The first thing to do is set your Class Path to the location of the jdbc .jar files.  When you configured the Oracle installation you specified the location of the files. Go there and look for the\jdbc\lib folder. It contains the jar files for your drivers. Example:  C:\\Oracle\home\jdbc\lib\.  Now add your datasources. Select Other from the drivers drop-down list. This may be the tricky part. You will need the database information for connecting, such as host name, port, user, password, etc.  The connect url will look like: jdbc:oracle:thin@hostname:portnumber:servicename. Class: oracle.jdbc.OracleDriver  Name: whatever
    * download from:  oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
    ** This utility should be selected as an item to install from step 1.

  • Best way to configure redelivery limit value for a Queue

    Hello,
    My doubt is related to configuring the JMS Redelivery Limit property from Weblogic 9.2 Server.
    We must support redelivery attempts in our queue, with a redelivery delay of 30s. So, we have set the queue's Redelivery Limit property to -1, via Console Configuration:
    Settings for My_DQueue -> Delivery Failure -> Redelivery Limit = -1
    The consumer of that queue is a MDBBean, which extends org.springframework.ejb.support.AbstractJmsMessageDrivenBean.
    The producers to that queue are weblogic.jms.extensions.WLMessageProducer.
    That queue has an error queue configured as Error Destination.
    Then, the WLMessageProducer is the one who specifies that value:
    WLMessageProducer messageProducer = (WLMessageProducer)queueSession.createProducer(queue);
    messageProducer.setRedeliveryLimit(5);However, we will not be able to ensure that all message producers pointing that queue will specifiy that redelivery limit. This may lead us to problems, as default queue Redelivery Limit is set to -1, and messages without specified redelivery limit would be redelivered indefinitely.
    I'd like to know if there is any way to specify a MAXIMUM redelivery limit value for a JMS queue. For example: fixing that limit to 10. If producers specify by themselves a redelivery limit lower than such value, that limit is applied to messages. Otherwise, the configured default limit value is used.
    Another option we have considered is to include, in the MDB's onMessage() method, a validation of the "JMS_BEA_RedeliveryLimit" message property:
    This validation would check whether no redelivery limit is configured in the Producer, and would forward such messages directly to the error queue, from the MDB, when the "JMSXDeliveryCount" outnumbers our fixed value:
    public void onMessage(Message message) {
       try {
          if(message.getIntProperty("JMS_BEA_RedeliveryLimit")<0){
             //MESSAGE FOUND WITHOUT REDELIVERY LIMIT SPECIFIED BY PRODUCER.
             //POTENTIAL DANGER OF BEING REDELIVERED INDEFINETELY
             int deliveryCount = message.getIntProperty("JMSXDeliveryCount");
             if(deliveryCount>10){
                 //CAN I FORWARD MESSAGE TO ERROR DESTINATION?But we were not able to found such examples to achieve this
    Thanks in advance!
    Joan Esteve

    Hi Joan,
    I just double-checked, and as far as I can tell the options for setting a redelivery limit include programmatically on the Producer or by configuring an override on the Destination. Unfortunately, you need the override to only take effect if the delivery limit hasn't already been set. (If we had a default deliverylimit configurable on our connection factory, this would have done the trick.)
    I think you've already hit upon the solution: your consumers can check each received message's JMSXDeliveryCount and act accordingly. It's fine for a consumer to use the JMS_BEA_RedeliveryLimit property see if the Limit has been set by a producer, and then check JMSXDeliveryCount to check the delivery count, but I'm not sure if the JMS_BEA_RedeliveryLimit property is set in older versions (8.1 may not have it for example).
    As a refinement, you may want to use the WLMessageProducer forward() API. This is an alternative to send() that preserves the message-id and timestamp of a consumed message. I don't think forward() allows any modification of the consumed message before it's forwarded.
    Hope this helps,
    Tom
    Edited by: Tom B on Feb 22, 2013 10:03 AM

  • Is this the right way to configure WPA2 on 1131 AP?

    Hello everyone.
    I, at work, have recently deployed a very small stub network in Papua New Guinea, an office that has no more than 7/8 users.  This simple network consists of:
    1 x 2611xm Router
    1 x 2960 24port Catalyst Switch
    1 x 1131ag AP
    1 x Dell Server used for WSUS and Anti-Virus updates for users on the LAN.
    NO VLANS - all connect to default vlan1
    And that is it, no individual DNS/DHCP/Domain servers, or Radius/Authentication servers for that matter. 
    Originally we deployed WEP on the AP, but today I configured WPA2.
    That said, below is my AP config, and just looking for confirmation if its correct, or needs further improvement (remove any unnecessary commands)?
    The switch has no additional VLANS configured, the link between the switch and the AP is NOT configured as trunk.
    The router does not have additional sub-interfaces.  Simply put, fa0/0 goes to the public internet, fa0/1 goes to the inside switch.
    Please note that wirless connectivity works OK, there are no issues, but i feel like i may have more unnecessary steps in my config than needed.
    Thanks for your guidance and support.
    Current configuration : 2583 bytes
    version 12.4
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    service password-encryption
    hostname WCS_GorokaAP
    logging rate-limit console 9
    enable secret 5 <removed>.
    no aaa new-model
    ip domain name <removed>
    dot11 syslog
    dot11 ssid wcs_goroka
       vlan 1
       authentication open
       authentication key-management wpa version 2
       mbssid guest-mode
       wpa-psk ascii 7 <wpa key>
    bridge irb
    interface Dot11Radio0
    no ip address
    no ip route-cache
    encryption vlan 1 mode ciphers aes-ccm
    ssid wcs_goroka
    mbssid
    channel 2437
    station-role root
    interface Dot11Radio0.1
    encapsulation dot1Q 1 native
    no ip route-cache
    bridge-group 1
    bridge-group 1 subscriber-loop-control
    bridge-group 1 block-unknown-source
    no bridge-group 1 source-learning
    no bridge-group 1 unicast-flooding
    bridge-group 1 spanning-disabled
    interface Dot11Radio1
    no ip address
    no ip route-cache
    encryption vlan 1 mode ciphers aes-ccm
    ssid wcs_goroka
    dfs band 3 block
    mbssid
    channel dfs
    station-role root
    interface Dot11Radio1.1
    encapsulation dot1Q 1 native
    no ip route-cache
    bridge-group 1
    bridge-group 1 subscriber-loop-control
    bridge-group 1 block-unknown-source
    no bridge-group 1 source-learning
    no bridge-group 1 unicast-flooding
    bridge-group 1 spanning-disabled
    interface FastEthernet0
    no ip address
    no ip route-cache
    duplex auto
    speed auto
    interface FastEthernet0.1
    encapsulation dot1Q 1 native
    no ip route-cache
    bridge-group 1
    no bridge-group 1 source-learning
    bridge-group 1 spanning-disabled
    interface BVI1
    ip address 192.168.15.241 255.255.255.0
    no ip route-cache
    ip default-gateway 192.168.15.254
    ip http server
    no ip http secure-server
    ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
    bridge 1 route ip
    banner motd ^C
    * This is a secured Access Point.  Unauthorized logins are strictly restricted. *
    ^C
    line con 0
    password 7 <console password>
    logging synchronous
    login
    line vty 0 4
    exec-timeout 30 0
    password 7 <telnet password>
    logging synchronous
    login
    transport input telnet
    line vty 5 15
    login
    end

    thats correct.
    keep this link as reference:
    http://www.cisco.com/en/US/partner/tech/tk722/tk809/technologies_configuration_example09186a008054339e.shtml
    http://www.cisco.com/en/US/partner/products/hw/wireless/ps4570/products_configuration_example09186a00801c40b6.shtml
    Please make sure to rate correct answers

  • Is it right way to nest HBox and VBox for screen design ?

    Hi,
    I am designing main screen of my application which contains lots of HBox and VBox.
    Which makes application slow and complicated.
    So is there any other way of doing it?
    Thanks.

    Grid layout? (still in preview)
    MiGLayout in JFXtras? (still in beta for 1.3, AFAIK)
    [Custom Layout|http://learnjavafx.typepad.com/weblog/2010/05/a-javafx-13-custom-layout-example.html]? (hard...)

  • Where can I download a JDBC driver for MAXDB

    Hi,
    I want to update my jdbc driver to access maxdb because I am using a version created four years ago but the database is the most updated. I have visited the maxdb web site, but I did not found any jdbc driver.
    Thanks in advance.
    Rosa

    Some years ago we changed the default cursor behavior of our driver from TYPE_SCROLL_SENSITIVE  to TYPE_FORWARD_ONLY. The reasons to change it were a better performance when fetching resultsets and also the conformance to the JDBC specification.
    So the default cursor behavior of our JDBC driver is now TYPE_FORWARD_ONLY. You can change the cursor behavior when you create a statement.
    java.sql.Statement ; stmt = connection.createStatement(
                    ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
    Also some newer JDBC drivers have a connect option
    defaultresultsettype=[TYPE_FORWARD_ONLY|TYPE_SCROLL_INSENSITIVE|TYPE_SCROLL_SENSITIVE]
    Regards,
    Marco

  • Best way to configure search toplogoy for multiple servers farm??

    Hi,
    My farm environment is 2 WFE and 2 App servers. Right now i am trying to configure Search Topology. what will be the best way to configure the search topology for this farm, so that query and crawling will be working perfectly. one thing i noticed with my
    previous search application Crawl DB had grown 140 GB, i dont know why it happened. please look at the following screen shot, this the current topology but i want to distribute component to different server.
    Any help will be appreciated!!

    The best topology depends on whether you want it to be fault tolerant or not. For a fault tolerant design with this number of servers I normally create two Index Partitions 0 and 1 with each on one of the App servers.  I then create Replicas of each
    partition on the front end servers. I then put the query role on both web fronts ends and the crawl role on both Ap servers.  So I end up with the following:
    FE1 = Index Replica 0 + Query
    FE2 = Index Replica 1 + Query
    Ap1 = Index 0 + Crawl
    Ap2 = Index 1 + Crawl
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Can any one suggest me useing right way for using cost centers

    Hello Guru's
    I am in implementation Projec, The client is in Depote Sales process, i just want to know about the cost cenetr and their importance we are creating 20 different cost centers is it really required to create 20 different cost centers, for integrations with MM And SD should i have to take one cost center per plant for Purcase and Sales related activites  are should i have to take different Cost Centers Purcase different and Sales different
    Can any one suggest which is the right way to use the cost center for integration
    Management     0010     DI10100010
    Finance & Accounts     0020     DI10100020
    HR and Personnel & Admin     0030     DI10100030
    Purchase - Equipment     0040     DI10100040
    Purchase - Parts     0050     DI10100050
    Purchase - General     0060     DI10100060
    Imports     0070     DI10100070
    Sales & Marketing - Equipment     0080     DI10100080
    Sales & Marketing - Parts     0090     DI10100090
    Sales - Miscalenous     0100     DI10100100
    Exports     0110     DI10100110
    Logistics     0120     DI10100120
    Services & Technical     0140     DI10100140
    Information Technology & Systems     0150     DI10100150
    Warehouse     0160     DI10100160
    Workshop      0170     DI10100170
    Workshop ( Repairs )     0180     DI10100180
    Production     0190     DI10100190
    Internal Audit     0200     DI10100200
    Legal     0210     DI10100210
    Training & Development     0220     DI10100220
    Research & Development     0230     DI10100230
    Moderator: Please, read basic SAP material on help.sap.com

    hi,
    my transaction is VL02N change outbound delivery.

  • Is there any way to configure storage queue message encoding for Web Job's QueueTrigger?

    We have a web job that listens to Azure storage queue via QueueTrigger. The queue messages are not encoded when they are added to the queue:
    CloudStorageAccount account = CloudStorageAccount.Parse("...");
    CloudQueueClient client = account.CreateCloudQueueClient();
    CloudQueue queue = client.GetQueueReference("test1");
    queue.EncodeMessage = false;
    queue.AddMessage(new CloudQueueMessage("hello world"));
    And in the web job, we use the below method to listen to the queue.
    public static Task ProcessQueueMessageAsync([QueueTrigger("test1")]string message)
    And the web job crashes when it gets a message, with the below output. Unfortunately we cannot control the encode setting of the coming messages. So, our question is, is there any way to configure queue message encoding for Web Job's QueueTrigger?
    Thank you for any help and/or suggestion.
    Found the following functions:
    WebJobTest1.Functions.ProcessQueueMessageAsync
    Job host started
    Unhandled Exception: System.FormatException: Invalid length for a Base-64 char array or string.
    at System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength)
    at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
    at System.Convert.FromBase64String(String s)
    at Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage.get_AsString()
    at Microsoft.Azure.WebJobs.Host.Storage.Queue.StorageQueueMessage.get_AsString()
    at Microsoft.Azure.WebJobs.Host.Queues.StorageQueueMessageExtensions.TryGetAsString(IStorageQueueMessage message)
    at Microsoft.Azure.WebJobs.Host.Queues.QueueCausalityManager.GetOwner(IStorageQueueMessage msg)
    at Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueTriggerExecutor.<ExecuteAsync>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueListener.<ProcessMessageAsync>d__11.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at Microsoft.Azure.WebJobs.Host.Timers.BackgroundExceptionDispatcher.<>c__DisplayClass1.<Throw>b__0()
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ThreadHelper.ThreadStart()
    Press any key to continue . . .

    Hi,
    Thanks for posting here.
    I am not too sure if the storage queue messages can be encoded before the webjob listens to it.
    I am currently researching to gather more information with regards to your request.
    I shall revert back to you with an update at the earliest.
    Sincerely appreciate your patience.
    Regards,
    Shirisha Paderu

Maybe you are looking for