Java mysql connection thread

Блог

Итак, я создаю серверное приложение на Java, и я хочу, чтобы запросы к базе данных управлялись событиями, чтобы они не блокировались.

Способ, которым я это делаю, заключается в создании соединения с MySQL в другом потоке, пока у меня есть это:

 package makeza.server.persistence; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.logging.Logger; import makeza.server.WorldServer; public final class MySQLNonblock extends Thread < public Connection connection = null; private Logger log = WorldServer.log; private String host, port, user, pass, database; @Override public void run() < init(); >public MySQLNonblock(String hst, String prt, String usr, String pas, String dbase)< this.setDaemon(true); this.setName("DatabaseThread"); this.host = hst; this.port = prt; this.user = usr; this.pass = pas; this.database = dbase; > public void init()< log.info("Connecting to database. "); try < connection = DriverManager.getConnection("jdbc:mysql://" host ":" port "/" database "?" "user amp;password Connected to database"); > catch (SQLException e) < log.severe("Couldn't connect to database at " host ":" port); System.out.println("SQLException: " e.getMessage()); System.out.println("SQLState: " e.getSQLState()); System.out.println("VendorError: " e.getErrorCode()); System.exit(1); //e.printStackTrace(); > > > 

Я запускаю поток в другом классе, и он подключается к серверу mysql, а затем поток завершается.

Читайте также:  Создание HTML-таблиц

Как мне сделать так, чтобы поток сохранялся после завершения метода запуска, чтобы я мог использовать соединение с mysql?

Комментарии:

1. Вы хотите перекачать сообщение в этот поток?

Ответ №1:

«Закрытие» соединения в этом отношении означает «возврат соединения в пул для повторного использования».

Комментарии:

1. Это правильный ответ, учитывая, что это должна быть «логика бизнеса / приложения», которая управляет активностью. Вот где должна быть основная направленность разработки приложений, подключение к БД должно быть в значительной степени пассивным и подчиненным и исходить из ConnectionPool.

Ответ №2:

Вам нужно подождать, пока какой-нибудь другой поток не разбудит его, уведомив об этом. Прочитайте учебник о параллелизме: http://download.oracle.com/javase/tutorial/essential/concurrency /

Вам, вероятно, следует использовать более высокоуровневую абстракцию, например ExecutorService .

Комментарии:

1. Пример кода? Просто короткий?

2. Смотрите download.oracle.com/javase/tutorial/essential/concurrency /… и download.oracle.com/javase/tutorial/essential/concurrency /. … Но если вы серьезно относитесь к многопоточности, вам лучше узнать, как все это работает в деталях, а не просто копировать и вставлять некоторые примеры кода.

3. Неправильный дизайн! Лучше использовать многопоточный процессор запросов / фактическую активность. Затем это может захватывать / и возвращать соединения в пул пассивных соединений. (Пулы соединений — это стандартная вещь, вам не нужно писать ее самостоятельно.)

Источник

Java mysql connection thread

Example to Connect Java Application with mysql database

In this example, sonoo is the database name, root is the username and password both.

The above example will fetch all the records of emp table.

To connect java application with the mysql database, mysqlconnector.jar file is required to be loaded.

Two ways to load the jar file:

1) Paste the mysqlconnector.jar file in JRE/lib/ext folder:

2) Set classpath:

How to set the temporary classpath

How to set the permanent classpath

Go to environment variable then click on new tab. In variable name write classpath and in variable value paste the path to the mysqlconnector.jar file by appending mysqlconnector.jar;.; as C:\folder\mysql-connector-java-5.0.8-bin.jar;.;

Читайте также:  Метод половинного деления java

Youtube

For Videos Join Our Youtube Channel: Join Now

Feedback

Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials

Splunk tutorial

SPSS tutorial

Swagger tutorial

T-SQL tutorial

Tumblr tutorial

React tutorial

Regex tutorial

Reinforcement learning tutorial

R Programming tutorial

RxJS tutorial

React Native tutorial

Python Design Patterns

Python Pillow tutorial

Python Turtle tutorial

Keras tutorial

Preparation

Aptitude

Logical Reasoning

Verbal Ability

Company Interview Questions

Artificial Intelligence

AWS Tutorial

Selenium tutorial

Cloud Computing

Hadoop tutorial

ReactJS Tutorial

Data Science Tutorial

Angular 7 Tutorial

Blockchain Tutorial

Git Tutorial

Machine Learning Tutorial

DevOps Tutorial

B.Tech / MCA

DBMS tutorial

Data Structures tutorial

DAA tutorial

Operating System

Computer Network tutorial

Compiler Design tutorial

Computer Organization and Architecture

Discrete Mathematics Tutorial

Ethical Hacking

Computer Graphics Tutorial

Software Engineering

html tutorial

Cyber Security tutorial

Automata Tutorial

C Language tutorial

C++ tutorial

Java tutorial

.Net Framework tutorial

Python tutorial

List of Programs

Control Systems tutorial

Data Mining Tutorial

Data Warehouse Tutorial

Javatpoint Services

JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.

  • Website Designing
  • Website Development
  • Java Development
  • PHP Development
  • WordPress
  • Graphic Designing
  • Logo
  • Digital Marketing
  • On Page and Off Page SEO
  • PPC
  • Content Development
  • Corporate Training
  • Classroom and Online Training
  • Data Entry

Training For College Campus

JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week

Like/Subscribe us for latest updates or newsletter RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

Источник

Оцените статью