A Tomcat server worker thread replying to an incoming request must access at least one of several possible cloud API services (Google Cloud Storage in particular; non-modifying, that is, only performing Reads). Tomcat offers out-of-the-box pooling for JDBC and JNDI compatible DB's and services. What is the best strategy for pooling connections to multiple cloud services to be shared across worker threads?
Tomcat: Creating a connection pool for cloud API services
193 Views Asked by ChaimKut At
2
There are 2 best solutions below
0
Setop
On
Your application access API over HTTP(S). The connection pooling must be performed at HTTP Client level.
If you're using Apache HTTPClient, there are examples of usage of pool.
Related Questions in TOMCAT
- Unable to compile the class for JSP in tomcat 8.5.95
- detect catalina.out log path from a running tomcat on non-Windows
- Tomcat 9.0.80 with Open JDK (JRE only) v16.0.2 crashing/unresponsive several times a day with load: Thread Count hits Max and All Threads are Busy
- JAX-RS webapp deployed to Tomcat returns HTTP 404 error while it works fine in Eclipse
- Illegal access: this web application instance has been stopped already. Could not load [org.apache.logging.log4j.message.SimpleMessage]
- File Upload Handling: Inconsistent HTTP Response Codes for Different File Sizes with Exception in Tomcat
- Don't get any public folder when deployment in svelte kit app
- Accessing solr web interface behind reverse proxy returns "Content Encoding Error"
- java.lang.UnsatisfiedLinkError: org.apache.tomcat.jni.SSL.renegotiatePending(J)I
- Cannot decrypt the password in application.yml properly if war file in the tomcat/webapps
- how to deploy mock json data api's(json-server) and angular 17 application in apache tomcat server 9 version
- version compatibility issue between spring boot, struts2-core and tomcat-embed-jasper in web application
- Is there any possibility to use JTA with Spring Framework 6 and Tomcat or Payara?
- Eclipse issue with publishing to Tomcat server
- null in Camunda variables
Related Questions in CONCURRENCY
- Unexpected inter-thread happens-before relationships from relaxed memory ordering
- Multiple Processes, Multiple Processors, Single Priority Queue - Java Thread-Safe and Concurrency -
- Efficiently processing many small elements of a collection concurrently in Java
- Zig Concurrency Vs Erlang Concurrency, is Zig less efficient than Erlang?
- Two Update statements on a row are running simultaneously with no locking in MYSQL
- How to Identify Specific Transaction Anomalies in a Given Schedule?
- How can I improve concurrent message processing with Google Task Queue?
- Why does the following program printf "thread 1 exists" twice in WSL2?
- ModelState.IsValid is false when its Data Model Concurrency Token is non nullable
- .NET A second operation was started on this context instance before a previous operation completed
- Can someone tell me what's wrong with mi Task.await?
- I am a beginner. More than problems, I have ideas I share my code ;D. NO RULES
- Understanding Potential Deadlock in Resource Pool Implementation Described in "Go in Action"
- Why are pre-allocated stacks expensive, given 64-bit virtual memory?
- Concurrency issues with server-sent events in Python
Related Questions in CONNECTION-POOLING
- How to configure connection pool c3p0 hibernate most efficiently for remote connection mySql
- Failed to connect to docker container running Postgres via pgbouncer
- How to establish connection pooling for HTTP Requests Lambda function attached to AWS API gateway?
- morphia client always makes more than 1 connection
- context deadline exceeded (Client.Timeout exceeded while awaiting headers)
- How to know DriverManagerDataSource has a connection pool
- How to view connection pool activity within Snowflake re: Looker?
- Why does connection pooling not work with pyodbc in my Linux image?
- SQLAlchemy QueuePool Overflow Issue in FastAPI Application with Uvicorn
- r2dbc-pool: Using the r2dbc connection pool slows down the execution of parallel transactions
- Jboss default idletimeout minutes if not mentioned
- How to efficiently define connection pool for multiple data sources with single database per tenant, in spring boot
- How to notify to reset tcp connection from target
- How to export Connection pool metrics of Tomcat like NumActive, NumIdle, MaxTotal via JMX exporte?
- AWS RDS Proxy avoid pinned connection with mysql and prepared statements
Related Questions in TOMCAT9
- Getting error while deploying war in tomcat 9
- Tomcat 9.0.80 with Open JDK (JRE only) v16.0.2 crashing/unresponsive several times a day with load: Thread Count hits Max and All Threads are Busy
- Tomcat 9 jenkins build issue
- 403 error accessing solr 8.11 on tomcat 9 (Windows)
- How Do Get Tomcat Sessions ID by Java Class
- I can't find server.xml?
- java.lang.SecurityException: class "org.apache.logging.log4j.core.async.AsyncWaitStrategyFactoryConfig"'s signer information does not match signer
- HTTP Status 404 – Not Found - The origin server did not find a current representation for the target resource
- Troubleshooting Tomcat: Addressing Compression Issues with Firefox 'NS_ERROR_NET_PARTIAL_TRANSFER' Error
- Is there a convenient way to have different logging for dev vs prod in tomcat?
- Eclipse & Tomcat 9 - Unable to drag the project
- High memory consumption after migrating to jdk 17 from jdk 8
- Checking for JDK os include directory... Cannot find jni_md.h in /bin
- Oracle ADB TLS connection error in Tomcat
- How do you log spring component scanning in a tomcat application
Related Questions in CONNECTION-POOL
- Connection to HTTPSConnectionPool broken by ReadTimeoutError (Retrying)
- Random Npgsql Connection Timeout in .net6 Application
- Apache HttpClient 5 pool without timeout
- How to improve simple connection pool to be less blocking
- Can I using springboot application with hikariCP on JBoss WAS?
- Sharing redisson client connection pool between several redisson client bean
- Creating a connection pool using all nodes in AWS opensearch cluster
- connection pool exception on keycloak when using SPI
- Spring Batch Connection Pool issue Already in use
- Changes needed in tomat configuration to avoid JDBC Connection pool exhaustion
- DBCP connection property name issue
- Is it okay to use both connection pools in AWS RDS proxy and mysql connection pool in lambda?
- connect oracle apex application to multiple databases
- Tomcat: Creating a connection pool for cloud API services
- DataFormatException happened in OkHttpClient
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
As you mentioned Tomcat allows defining JDBC/JNDI resources that can be used by web applications. If there is a JDBC driver available for the service you want to use then you can use the same approach. For example, a quick search for GCS JDBC driver returns this.
For pooling, you could define HikariCP as a tomcat resource and configure it to connect to GCS using the third-party driver using the
driverClassNameproperty.Alternatively, applications can use the HTTP-based SDKs that cloud providers usually make available.