powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
14 сообщений из 39, страница 2 из 2
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38377959
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор, очень хочется тебе помочь. Самым простым был о бы попросить кого нибудь из программистов решить эту задачу. По описанию задача на день два работы , а может быть и на пару часов. Это самый простой и верный способ. Но есть и более длинный : для этого вам нужно установить к примеру netbeans 7.3 там есть куча примеров и один из них подойдет и вам.


Конечно идеально было бы все это переписать , как уже сказали выбрать простой сервер. Более 200 пользователей в день это не 200 пользователей в секунду :) для такой нагрузки хватит и одного коннекта , при условии что время запроса не более 10 мс. Думаю оно такое и есть. Если там нагрузка больше то моэно думать и о пуле соединений.
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38377977
ozzmosis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
just_vladimir et al - спасибо за наводки и примеры! буду копать
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38377980
ozzmosis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1Самым простым был о бы попросить кого нибудь из программистов решить эту задачу. По описанию задача на день два работы , а может быть и на пару часов. Это самый простой и верный способ.Спасибо, но эту задачу я должен решить сам.
Про netbeans - тоже спасибо, я и забыл про неё совсем :-)
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38377998
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В оракле есть такая вещь как DRCP. Думаю в sql server есть тоже что-то похожее. Я бы изучил доки по sql серверу.
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378000
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378046
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ozzmosis,

1. Пишем сервлет для Jetty, который отдаёт данные
2. Пул соединений делаем через DBCP
3. Profit

Результат будет такой: запускаешь Jetty и он весит себе как процесс неделями, пользователи отправляют http запрос и получают тот же файл что и раньше.
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378074
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может в такой простой задачи и джава то вовсе не нужна ? Может достаточно простого скрипта ? На баше или даже под виндой на vb ?
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378115
ozzmosis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1Может в такой простой задачи и джава то вовсе не нужна ? Может достаточно простого скрипта ? На баше или даже под виндой на vb ?Да есть, конечно же альтернативы. Но в данном случае это мне больше всего нужно, чтобы на яве. Ибо осваивать язык гораздо приятнее с практической задачей, а не по талмуду или ководству.
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378117
ozzmosis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GregTk,

спасибо, посмотрю тоже.
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378179
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того, чтобы что-то оптимизировать нужно понять, что нужно оптимизировать. Это точно время соединения с базой 4-5 секунд? Как была получена эта цифра? Нужно измерить время:
1. запуска приложения
2. подключения к базе
3. исполнения запроса
4. получения результат
и только после этого что-то делать, предварительно подумав.
Возможно, в данном случае, следует просто что-то настроить в сети, например...
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378335
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTk1. Пишем сервлет для Jetty, который отдаёт данные
2. Пул соединений делаем через DBCP
3. Profit

Результат будет такой: запускаешь Jetty и он весит себе как процесс неделями, пользователи отправляют http запрос и получают тот же файл что и раньше.
Я вроде бы именно такой вариант и предлагал, еще с уточнением, что http запрос можно выполнить при помощи cURL.
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378355
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimir... http запрос можно выполнить при помощи cURLВы ведь были против HTTP. В чем дело?
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378366
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usmanjust_vladimir... http запрос можно выполнить при помощи cURLВы ведь были против HTTP. В чем дело?
Я был против Вашей монструозной картинки с Java EvilEnterprise Edition со всеми сопутствующими "радостями".
...
Рейтинг: 0 / 0
Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
    #38378632
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Могу предложить готовое решение с удаленным доступом к datasource на сервере приложений:
1) берем JBOSS server. Его придется где-то запустить;
2) настраиваем datasource, не забываем указать
Код: xml
1.
<use-java-context>false</use-java-context>


Вот пример для jboss 4.x, пул на 50 коннектов, заодно с проверкой соединения каждую минуту:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<datasources>
	<local-tx-datasource>
		<jndi-name>remoteDS</jndi-name>
		<connection-url>jdbc:oracle:thin:и_так_далее</connection-url>
		<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
		<user-name>*******</user-name>
		<password>*******</password>
		<max-pool-size>50</max-pool-size>
		<background-validation>true</background-validation>
		<background-validation-minutes>1</background-validation-minutes>
		<valid-connection-checker-class-name>
			org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
		</valid-connection-checker-class-name>

		<use-java-context>false</use-java-context>
	</local-tx-datasource>
</datasources>


3) используем remoteDS с клиента, в вашем приложении надо будет только поменять метод получения datasource:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
	public static DataSource getRemoteDatasource() throws NamingException {
		final Properties jndiProperties = new Properties();

		jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
		jndiProperties.put(Context.PROVIDER_URL, "jnp://localhost:1099");  // заменяем на адрес где jboss
		jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

		final Context ctx = new InitialContext(jndiProperties);
		DataSource ds = (DataSource)ctx.lookup("remoteDS");
		return ds;
	}

	public static void main(String[] args) throws NamingException, SQLException {
		DataSource ds = getRemoteDatasource();
		Connection con = ds.getConnection();
		try {
			// какая-то полезная работа
			Statement query = con.createStatement();
			ResultSet rs = query.executeQuery("select * from bla_bla_bla");
			while (rs.next()) {
				System.out.println(rs.getString(1));
			}
		} finally {
			con.close();
		}
	}


Перед запуском следует добавить в classpath по крайней мере вот эту библиотеку
Код: powershell
1.
%JBOSS_HOME/client/jbossall-client.jar


Скорее всего, с небольшими изменениями заработает и на более новых версиях jboss
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Как правильно сделать класс с пулом коннектов, к которому будут стучаться >200 юзеров ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]