2013-08-27 3 views
1

Я пишу свой собственный медиатор в WSO2 ESB. Я использую spring jdbc с postgresql в своем пользовательском посреднике.
Мой вопрос здесь, я назвал свой собственный посредник от службы прокси в WSO2, что-то вроде этого:Соединение PostgreSql в пользовательском посреднике WSO2

<proxy name="MyProxy" 
     transports="vfs" 
     startOnLoad="true" 
     trace="disable"> 
    <target> 
    <inSequence> 
     <class name="com.test.CustomMediatorWithPostgres"/> 
    </inSequence> 
    </target> 
    <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> 
    <parameter name="transport.PollInterval">1</parameter> 
    <parameter name="transport.vfs.MoveAfterProcess">file:///test</parameter> 
    <parameter name="transport.vfs.FileURI">file:///test1</parameter> 
    <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter> 
    <parameter name="transport.vfs.ContentType">text/plain</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 

Я объявляю соединение в методе инициализации моего пользовательского посредника.

Мой вопрос здесь, если я создаю, например, 1000 прокси, называемый классом CustomMediatorWithPostgres, он создаст около 1000 соединений для postgre, поэтому, если я сделаю 100000 прокси-сервис, то он также создаст 100000-соединение. Это плохо или есть что-то, что я могу сделать, чтобы сделать, например, глобальное соединение, которое я могу использовать во всей моей службе прокси?
спасибо ....

+1

Я не думаю, что это правильный способ работы с соединениями jdbc. Вы можете определить пул соединений. Например, если вы определяете пул соединений 100, то максимальное количество подключений в заданное время равно 100. Если другой процесс пытается установить соединение, он будет заблокирован. И почему вы создаете 100 прокси? – Ragavan

+0

@Ragavan Привет, спасибо за ваш ответ. Мне нужно сделать много прокси, каждый прокси будет обрабатывать разные FileURI, поэтому мне нужно определить каждый из них с помощью другого FileURI. И каждый прокси должен получить доступ к одному и тому же настраиваемому посреднику, который использует соединение postgre jdbc. У вас есть решение для этого случая? –

ответ

0

Я думаю, что лучше использовать сервер dataservice для обработки логики БД и называть это из ваших прокси. В DS вы можете указать параметры подключения

Или у вас есть логика для обработки DifferentFileURI в пользовательском медиаторе. Тогда вы можете использовать пул соединений для обработки

+0

Привет, можете ли вы дать мне несколько уроков для использования сервера dataservice и как вызвать это из моего прокси? Спасибо :) –

+0

Просто определите dataservice, как описано в документе, и в службе прокси предоставляют сервисы dataservice в качестве конечной точки. http://docs.wso2.org/display/DSS301/WSO2+Data+Services+Server+Documentation – Ratha

Смежные вопросы