BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 19:15

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 01 ноя 2017, 20:33 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
Доброго времени суток, господа!

Пытаюсь поднять биллинг под Windows, на данный момент Windows 8.1 x64. Биллинг стартует и работает вроде. Столкнулся со следующими проблемами:
1. Не работают приложения InetAccess и InetAccounting, при запуске выдают следующее:
Код:
Error on node access
java.lang.ClassNotFoundException: ru.bitel.bgbilling.modules.inet.access.Access
   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:264)
   at ru.bitel.bgbilling.kernel.application.server.Application.processBean(Application.java:463)
   at ru.bitel.bgbilling.kernel.application.server.Application.process(Application.java:369)
   at ru.bitel.bgbilling.kernel.application.server.Application.processChildren(Application.java:822)
   at ru.bitel.bgbilling.kernel.application.server.Application.application(Application.java:261)
   at ru.bitel.bgbilling.kernel.application.server.Application.<init>(Application.java:167)
   at ru.bitel.bgbilling.kernel.application.server.Application.main(Application.java:876)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at ru.bitel.common.bootstrap.Boot.boot(Boot.java:129)
   at ru.bitel.common.bootstrap.Boot.main(Boot.java:178)

Подозреваю, что либ в комплекте нету, нужно добыть через updater.bat. Запускаю его и получаю следующее:
Код:
c:\BGBilling\BGInetAccess>update

c:\BGBilling\BGInetAccess>set APP_DIR=.

c:\BGBilling\BGInetAccess>set CLASSPATH=.;.\lib\app\*;.\lib\ext\*

c:\BGBilling\BGInetAccess>java -Djava.net.preferIPv4Stack=true -Dsetup.name=SetupName -Xmx256m -cp .;.\lib\app\*;.\lib\ext\* bitel.billing.server.insta
Starting libraries update. Requesting BGBillingServer lib info.
 11-01/17:18:44  INFO [main] DefaultServerSetup - Init DB connection pools
 11-01/17:18:44 ERROR [EventProcessor-init] EventProcessor - Name [mq/connectionFactory] is not bound in this Context. Unable to find [mq].
javax.naming.NameNotFoundException: Name [mq/connectionFactory] is not bound in this Context. Unable to find [mq].
        at org.apache.naming.NamingContext.lookup(NamingContext.java:816)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:173)
        at ru.bitel.bgbilling.kernel.event.EventProcessor$4.call(EventProcessor.java:1134)
        at ru.bitel.bgbilling.kernel.event.EventProcessor$4.call(EventProcessor.java:1124)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
 11-01/17:18:44 ERROR [main] Setup -
java.lang.NullPointerException
        at ru.bitel.bgbilling.server.util.Setup.addReloadListener(Setup.java:76)
        at ru.bitel.bgbilling.server.util.Setup.<init>(Setup.java:59)
        at bitel.billing.server.installer.library.LibraryUpdate.main(LibraryUpdate.java:115)
Error requesting BGBillingServer. Check BGBillingServer and system time.
java.lang.NullPointerException
        at bitel.billing.server.installer.library.LibraryUpdate.getLibrariesForUpdate(LibraryUpdate.java:76)
        at bitel.billing.server.installer.library.LibraryUpdate.main(LibraryUpdate.java:117)

BGBillingServer запущен, ActiveMQ запущен, JavaSDK последняя 8 (Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) Client VM (build 25.151-b12, mixed mode, sharing)), всё стоит на одной машине.

2. Вопрос по обработчикам:
Цитата:
В случае если нужно управлять доступом в зависимости от состояния баланса и статуса договором(что фактически отражено в состоянии сервиса), то нужно чтобы на типе сервиса стоял обработчик активации сервисов. Есть несколько стандартных обработчиков, которые есть сразу в выпадающем списке в типе сервиса, если они не подходят, то можно создать свой. Есть примеры на нашей wiki. Пример настройки подобной схеме есть в главе про IPoE.

У меня в настройках Типа сервиса в выпадающих списках обработчиков пусто во всех трёх: активация сервисов, процессор протокола, обработчик управления устройством. Что нужно сделать чтоб они там появились? И какие на данный момент актуальные обработчики для связки mikrotik + pppoe + radius (слищком много разной инфы на форумах и в wiki)?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 ноя 2017, 20:30 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
что то с настройками...
покажите конфиги


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 ноя 2017, 21:43 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
ActiveMQ:
Код:
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
 
    <!-- Allows us to use system properties as variables in this configuration file -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>
 
   <!-- Allows accessing the server log -->
    <bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery"
          lazy-init="false" scope="singleton"
          init-method="start" destroy-method="stop">
    </bean>
 
    <!--
        The <broker> element is used to configure the ActiveMQ broker.
    -->
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
 
        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" optimizedDispatch="true">
                    <!-- The constantPendingMessageLimitStrategy is used to prevent
                         slow topic consumers to block producers and affect other consumers
                         by limiting the number of messages that are retained
                         For more information, see:
 
                         http://activemq.apache.org/slow-consumer-handling.html
 
                    -->
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="50000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>
 
 
        <!--
            The managementContext is used to configure how ActiveMQ is exposed in
            JMX. By default, ActiveMQ uses the MBean server that is started by
            the JVM. For more information, see:
 
            http://activemq.apache.org/jmx.html
        -->
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>
 
        <!--
            Configure message persistence for the broker. The default persistence
            mechanism is the KahaDB store (identified by the kahaDB tag).
            For more information, see:
 
            http://activemq.apache.org/persistence.html
        -->
        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
            <!-- <kahaDB directory="${activemq.data}/kahadb" journalDiskSyncStrategy="periodic"/> -->
        </persistenceAdapter>
 
        <plugins>
            <!-- drop messages that have been sent to the DLQ -->
            <discardingDLQBrokerPlugin dropAll="true"/>
 
            <simpleAuthenticationPlugin>
                <users>
                    <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="user"/>
                    <authenticationUser username="listener" password="listener" groups="anonymous"/>
                </users>
            </simpleAuthenticationPlugin>
                                                                                                                                                                                                                     
            <!--  lets configure a destination based authorization mechanism -->
            <authorizationPlugin>
                <map>
                    <authorizationMap>
                        <authorizationEntries>
                            <authorizationEntry queue="BG.Event.>" read="user" write="user" admin="user" />
                            <authorizationEntry topic="BG.Event.>" read="user, anonymous" write="user" admin="user" />
 
                            <authorizationEntry topic="ActiveMQ.Advisory.>" read="user, anonymous" write="user, anonymous" admin="user, anonymous"/>
                        </authorizationEntries>
 
                        <!-- let's assign roles to temporary destinations. comment this entry if we don't want any roles assigned to temp destinations -->
                        <!--
                        <tempDestinationAuthorizationEntry>
                            <tempDestinationAuthorizationEntry read="tempDestinationAdmins" write="tempDestinationAdmins" admin="tempDestinationAdmins"/>
                        </tempDestinationAuthorizationEntry>
                        -->
                    </authorizationMap>
                </map>
            </authorizationPlugin>
          </plugins>
 
          <!--
            The systemUsage controls the maximum amount of space the broker will
            use before disabling caching and/or slowing down producers. For more information, see:
            http://activemq.apache.org/producer-flow-control.html
          -->
          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="128 mb"/>
                    <!--<memoryUsage percentOfJvmHeap="70" /> -->
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="10 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="1 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>
 
        <!--
            The transport connectors expose ActiveMQ over a given protocol to
            clients and other brokers. For more information, see:
 
            http://activemq.apache.org/configuring-transports.html
        -->
        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://127.0.0.1:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
 
        <!-- destroy the spring context on shutdown to stop jetty -->
        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>
 
    </broker>
 
    <!--
        Enable web consoles, REST and Ajax APIs and demos
        The web consoles requires by default login, you can disable this in the jetty.xml file
 
        Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details
    -->
    <import resource="jetty.xml"/>
 
</beans>

BgBillingServer:
Код:
connector.http=*:8080
port.admin=2005

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://192.168.2.6:3307/bgbilling?useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8_unicode_ci&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&useCursorFetch=true&queryTimeoutKillsConnection=true&connectTimeout=1000
db.user=bill
db.pswd=bgbilling
db.maxIdle=20
db.maxActive=300
db.validationTimeout=10

mq.url=failover:(nio://127.0.0.1:61616?socketBufferSize=1000000)
mq.user=bill
mq.pswd=bgbilling

context.path=/bgbilling

# \u0420\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0435 \u0432 https \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b (\u0434\u043b\u044f tomcat)
# \u0417\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0440\u0430\u0442\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0446\u0435\u043b\u044f\u043c \u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c.
connector.https.sslEnabledProtocols=SSLv2,SSLv3,TLSv1,TLSv1.1,TLSv1.2,SSLv2Hello

BgInetAccess:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<application context="access">
   <!-- Уникальное имя приложения -->
   <param name="app.name" value="BGInetAccess"/>
   <!-- Уникальный числовой id приложения -->
   <param name="app.id" value="1"/>

   <!-- Параметры подключения к БД -->
   <param name="db.driver" value="com.mysql.jdbc.Driver"/>
   <param name="db.url" value="jdbc:mysql://192.168.2.6:3307/bgbilling?useUnicode=true&amp;characterEncoding=UTF-8&amp;allowUrlInLocalInfile=true&amp;zeroDateTimeBehavior=convertToNull&amp;jdbcCompliantTruncation=false&amp;queryTimeoutKillsConnection=true&amp;connectTimeout=1000"/>
   <param name="db.user" value="bill"/>
   <param name="db.pswd" value="bgbilling"/>
   <param name="db.validationTimeout" value="10"/>
   
   <!-- Параметры подключения к MQ -->
   <param name="mq.url" value="failover:(tcp://localhost:61616)"/>
   <param name="mq.user" value="bill"/>
   <param name="mq.pswd" value="bgbilling"/>
   
   <!-- id модуля -->
   <param name="moduleId" value="4"/>
   <!-- id корневого устройства -->
   <param name="rootDeviceId" value="1"/>

   <!-- Внутренняя переменная приложения, не изменять -->
   <param name="commonIdentifierName" value="rootDeviceId"/>

   <!-- Параметры сохранения логов данных -->
   <!-- Директория, в которую сохранять radius логи -->
   <param name="datalog.radius.dir" value="data/radius" />
   <!-- Размер блока данных в файле лога, также размер буфера на поток слушателя -->
   <param name="datalog.radius.chunk.size" value="262144" />
   <!-- Сжимать radius логи: 0 - не сжимать, 1 - zlib -->
   <param name="datalog.radius.compression.type" value="1" />
   <!-- Директория, в которую сохранять flow логи -->
   <param name="datalog.dhcp.dir" value="data/dhcp" />
   <!-- Размер блока данных в файле лога, также размер буфера на поток слушателя -->
   <param name="datalog.dhcp.chunk.size" value="131072" />
   <!-- Сжимать flow логи: 0 - не сжимать, 1 - zlib -->
   <param name="datalog.dhcp.compression.type" value="1" />
   
   
   <!-- Создание Access -->
   <bean name="access" class="ru.bitel.bgbilling.modules.inet.access.Access" />

   <context name="radius">
      <!-- Cоздание процессора radius-пакетов -->
      <bean name="radiusProcessor" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor"/>
      
      <!-- Служебный ScheduledExecutorService, необходимый для dataLogger -->
      <scheduledExecutorService name="hrlydtlggr" corePoolSize="1" />

      <!-- Cоздание dataLogger, сохраняющего radius-пакеты на диск (только один экземпляр) -->
      <bean name="radiusDataLogger" class="ru.bitel.bgbilling.modules.inet.radius.RadiusHourlyDataLogger">
         <param name="scheduledExecutor">hrlydtlggr</param>
      </bean>

      <!-- Cоздание слушателя radius-пакетов на порту с передачей ему процессора и dataLogger -->
      <bean name="radiusListener" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusListener">
         <constructor>
            <!-- Хост (интерфейс), на котором будет открыт сокет. Если пусто - на всех -->
            <param name="host" value=""/>
            <!-- Порт, на котором будет открыт сокет -->
            <param name="port" value="1812"/>
            <!-- Размер буфера приема слушателя -->
            <param name="recvBufferSize">512 * 1024</param>
            <!-- Рекомендуемый SO_RCVBUF сокета -->
            <param name="soRCVBUF"></param>
            <!-- Количество потоков-обработчиков -->
            <param name="threadCount">10</param>
            <!-- Максимальное количество пакетов в очереди на обработку -->
            <param name="maxQueueSize">200</param>
            <!-- Передача процессора -->
            <param name="processor">radiusProcessor</param>
            <!-- Режим работы, RadiusListener.Mode.authentication -->
            <param name="mode">RadiusListener.Mode.authentication</param>
            <!-- Передача dataLogger -->
            <param name="dataLogger">radiusDataLogger</param>
         </constructor>
      </bean>
   </context>

</application>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 ноя 2017, 21:46 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
Код:
C:\Windows\system32>set
ACTIVEMQ_HOME=C:\BGBilling\activemq
BGBILLING_SERVER_DIR=c:\BGBilling\BGBillingServer
BGINET_ACCESS_HOME=c:\BGBilling\BGInetAccess
BGINET_ACCOUNTING_HOME=c:\BGBilling\BGInetAccounting
JAVA_HOME=c:\Program Files (x86)\Java\jdk1.8.0_151


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 ноя 2017, 21:57 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
проверьте файрвол возможно он блокирует соединения, или антивирус

попробуйте поменять localhost на 127.0.0.1


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 ноя 2017, 22:05 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
Фаерволла/антивируса нету на компе, 127.0.0.1 прописал - без изменений. Сам BGBillingServer стартует и регистрируется на ActiveMQ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 ноя 2017, 18:56 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
Господа разработчики, может всё-же посоветуете что-то более дельное для решения проблемы?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2017, 16:03 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
попробуйте скопировать библиотеку с сервера вручную.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2017, 16:05 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Версия биллинга какая ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 ноя 2017, 21:39 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
stark писал(а):
Версия биллинга какая ?

Код:
Информация о версии:

  Клиент: вер. 7.1.76 / 31.10.2017 14:55:43
    os: Windows 8.1; java: Java HotSpot(TM) Client VM, v.1.8.0_151
  Сервер: вер. 7.1.926 / 31.10.2017 14:56:58
    os: Windows 8.1; java: Java HotSpot(TM) Server VM, v.1.8.0_151

  inet: вер. 7.1.554 / 31.10.2017 14:57:10


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 дек 2017, 15:44 
Не в сети

Зарегистрирован: 01 ноя 2017, 03:53
Сообщения: 7
Карма: 0
up!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.096s | 43 Queries | GZIP : On ]