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-C4948Hi,
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 -
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?
ThanksUnfortunately, 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 NegrinHello 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.
IanSo, 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 CoreHi,
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,
UJHi,
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
RamI 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 EsteveHi 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
endthats 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.
RosaSome 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.comhi,
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
-
Client not working after upgrade
Hi, I am upgrading my SAP 8.8 SP:00 Pl 10 to PL 16. with the help of upgrade wizard all the SAP items are upgraded from PL 10 to Pl 16. When i was login in through SAP client it asked for upgrade i clicked yes after some time the upgrade stop and the
-
SQL Server 2008 R2 Replication - not applying snapshot and not updating all repliacted columns
We are using transactional replicating on SQL Server 2008 R2 (SP1) using a remote distributor. We are replicating from BaanLN, which is an ERP application to up to 5 subscribers, all using push publications. Tables can range from a couple million ro
-
I just down loaded the latest and greatest itunes and Ipod touch software. went thru all the steps, my wife did the same for her itouch on her computer. Hers is frozen, can't complete the restore, mine won't sync all the apps and music to the ipod. W
-
ODI11g, Console and Enterprise Manager(EM) integration
Hi all, I need some information on the integration of ODI Console with Enterprise Manager. Any links or documents will be helpful. Thank you
-
Hi Gurus, We have uploaded opening balance on 1.4.2007.Now we want to reverse the same. Pl advise me the procedure to reverse it. Regards, Samar