Parkoviště
Instalace na straně serveru¶
info
Tento krok dělá PMC automaticky. Je ale v případě problémů dobré vědět, jak konfigurace na straně serveru funguje.
Do databáze BI je třeba přidat následující záznam:
- parking_id - v databázi PMC - tabulka parking, sloupec parking_id
- gmtp_id - GMTP ID parkoviště, nachází se v databázi PMC - tabulka parking, sloupec gmtp_ident
- subject_id - ID subjektu, ke kterému se pojí parkoviště. Možno najít v databázi PMC - tabulka parking, sloupec subject_id
Instalace na straně parkoviště¶
Instalace databázových patchů¶
info
Od verze kernelu 5.6 už není potřeba tyto patche aplikovat - jsou součástí základní instalace.
Nainstalovat tyto databázové patche.
- e54-2022-04-08-pmcDataPump
- e54-2022-08-30-pmcDataPumpII
Instalace datové pumpy¶
Datovou pumpu je možné nainstalovat ve dvou režimech
- naplánovaná úloha - Ve Windows sevytvoří naplánovaná úloha, která pravidelně datovou pumpu spouští.
- služba - Ve Windows se vytvoří služba s automatickým startem. Spouštění přenosů se řeší v rámci procesu.
Níže je popsán instalační proces pro obě možnosti.
Naplánovaná úloha (default)¶
V průběhu instalace není třeba nic měnit. Po dokončení instalace se v systému objeví nová naplánovaná úloha "GreenPro-ETL"
Služba¶

V průběhu instalace vybrat možnost "{#projectName} {#version} Installed as a service"
Dále už není třeba nic měnit. Po instalaci se vytvoří služba GreenPro etl

V adresáři, kam se aplikace nainstalovala je soubor winsw.xml, kde lze upravit konfiguraci služby, přidat flag, upravit parametr prostředí...
<?xml version="1.0" encoding="UTF-8"?>
<service>
<id>GreenPro etl</id>
<name>GreenPro etl</name>
<startmode>Automatic</startmode>
<description>GreenPro etl</description>
<executable>java</executable>
<arguments>-Djavax.net.ssl.trustStore=.\cert\amq-client.ts -Djavax.net.ssl.trustStorePassword=supersecretpassword -jar ".\pmc-etl-sybase-1.0.1.jar" --spring.profiles.active=gclive</arguments>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>100</keepFiles>
</log>
<logpath>%BASE%\log</logpath>
</service>
Po úpravě souboru je nutné službu restartovat.
Konfigurace ETL¶
Podle způsobu provozování jsou možné dva způsoby konfigurace.
info
Pokud byla pumpa nainstalována přes windows instalátor, není potřeba konfiguraci upravovat. Je ale dobré znát možnosti konfigurace.
Scheduled tasks¶
#store transfer data
pmc.etlsybase.store = true
#running export schedule
pmc.etlsybase.cron.expression = 2 0,20,40 * * * ?
# (1)!
pmc.etlsybase.cron.repeatedly = false
# (2)!
# DB sybase configuration
spring.datasource.driver-class-name=com.sybase.jdbc4.jdbc.SybDriver
spring.datasource.jdbc-url=jdbc:sybase:Tds:127.0.0.1:2638/greenpro16?SQLINITSTRING=SET TEMPORARY OPTION "connection_authentication"='Company=Green Center s.r.o.;Application=GPP;Signature=000fa55157edb8e14d818eb4fe3db41447146f1571g357e241b4abefe1e00a1075355440585290041de';
# (3)!
spring.datasource.username=pmcbi
spring.datasource.password=xxxx
spring.datasource.idle-timeout=180000
spring.datasource.connection-timeout=30000
spring.datasource.minimum-idle=5
spring.datasource.maximum-pool-size=5
spring.datasource.pool-name=EtlPool
spring.datasource.max-lifetime=1800000
spring.datasource.connection-test-query=SELECT 1
# SQL dialect for generating optimized queries
spring.jpa.hibernate.ddl-auto=none
spring.jpa.database=SYBASE
#spring.jpa.show-sql=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
# (4)!
# MQ setting
pmc.etlsybase.url = ssl://pmc.parkcloud.cz:61617
pmc.etlsybase.username = pos_broker
pmc.etlsybase.password = xxx
pmc.etlsybase.queuename = etldb
pmc.etlsybase.timeout = 120000
pmc.etlsybase.messageSize = 5000
pmc.etlsybase.batchSize = 30000
pmc.etlsybase.expirationTime = 120000
# (5)!
# export tables
pmc.etlsybase.table = Receipt,ReceiptItem,Station,Revenue,Operator,RevenueItem,Currency,PaymentKind,Card,CardAlias,CardBlockage,CardLicencePlate,Access,Host,Owner,CardJournal,CardJournalEvent,StationEvent,StationJournal,CardPassJournal,CashboxState,CashboxStateItem,ReceiptItemCard,ReceiptItemDiscount,ReceiptItemVoucher,ReceiptStorno,ZonePGS,LengthRule,Rate,RedLetterDays,SaturationRule,ScheduleRule,Season,AccessZoneRate
pmc.etlsybase.columnid = IDReceipt,IDItem,IDStation,IDRevenue,IDOperator,IDRevenueItem,IDCurrency,IDKind,IDCard,IDAlias,IDCard,IDLicencePlate,IDAccess,HAPAddress,IDOwner,IDCardJournal,Action+Language,IDEvent,CreatedWhen+IDStation,IDCard,IDState,IDItem,IDItem,IDItem,IDItem,IDReceipt,IDZone,ScheduleRuleID+fromMinute,IDRate,IDRedLetterDay,ScheduleRuleID+saturationTime,IDRule,IDSeason,IDAccess+Zone
# struktura je Nazev_tabulky=sloupec1,sloupec2|Nazev_tabulky2=sloupec1,sloupec2
pmc.etlsybase.columns =
pmc.etlsybase.whereCondition = ,,,,,,,,,,,,,,,,,,,,,,,,,,,
pmc.etldbsybase.prefix =
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} - %logger{36} - %msg%n
logging.file.name=./logs/GreenPro-ETL.log
logging.file.max-size=100MB
- Tímto nastavením se vypíná opakované spouštění
- Konfigurace připojení do databáze
- Vyměnit za správné uživatelské údaje!
- Nastavení MQ komunikace - je třeba upravit podle prostředí
- Konfigurace tabulek, které se mají přenášet
Service¶
#store transfer data
pmc.etlsybase.store = true
#running export schedule
# every 20 minutes
pmc.etlsybase.cron.expression = 2 0,20,40 * * * ?
# (1)!
pmc.etlsybase.cron.repeatedly = true
# (2)!
# DB sybase configuration
spring.datasource.driver-class-name=com.sybase.jdbc4.jdbc.SybDriver
spring.datasource.jdbc-url=jdbc:sybase:Tds:127.0.0.1:2638/greenpro16?SQLINITSTRING=SET TEMPORARY OPTION "connection_authentication"='Company=Green Center s.r.o.;Application=GPP;Signature=000fa55157edb8e14d818eb4fe3db41447146f1571g357e241b4abefe1e00a1075355440585290041de';
# (3)!
spring.datasource.username=pmcbi
spring.datasource.password=xxx
spring.datasource.idle-timeout=180000
spring.datasource.connection-timeout=30000
spring.datasource.minimum-idle=5
spring.datasource.maximum-pool-size=5
spring.datasource.pool-name=EtlPool
spring.datasource.max-lifetime=1800000
spring.datasource.connection-test-query=SELECT 1
# SQL dialect for generating optimized queries
spring.jpa.hibernate.ddl-auto=none
spring.jpa.database=SYBASE
#spring.jpa.show-sql=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
# (4)!
# MQ setting
pmc.etlsybase.url = ssl://pmc.parkcloud.cz:61617
pmc.etlsybase.username = pos_broker
pmc.etlsybase.password = xxx
pmc.etlsybase.queuename = etldb
pmc.etlsybase.timeout = 120000
pmc.etlsybase.messageSize = 5000
pmc.etlsybase.batchSize = 30000
pmc.etlsybase.expirationTime = 120000
# (5)!
# export tables
pmc.etlsybase.table = Receipt,ReceiptItem,Station,Revenue,Operator,RevenueItem,Currency,PaymentKind,Card,CardAlias,CardBlockage,CardLicencePlate,Access,Host,Owner,CardJournal,CardJournalEvent,StationEvent,StationJournal,CardPassJournal,CashboxState,CashboxStateItem,ReceiptItemCard,ReceiptItemDiscount,ReceiptItemVoucher,ReceiptStorno,ZonePGS,LengthRule,Rate,RedLetterDays,SaturationRule,ScheduleRule,Season,AccessZoneRate
pmc.etlsybase.columnid = IDReceipt,IDItem,IDStation,IDRevenue,IDOperator,IDRevenueItem,IDCurrency,IDKind,IDCard,IDAlias,IDCard,IDLicencePlate,IDAccess,HAPAddress,IDOwner,IDCardJournal,Action+Language,IDEvent,CreatedWhen+IDStation,IDCard,IDState,IDItem,IDItem,IDItem,IDItem,IDReceipt,IDZone,ScheduleRuleID+fromMinute,IDRate,IDRedLetterDay,ScheduleRuleID+saturationTime,IDRule,IDSeason,IDAccess+Zone
# struktura je Nazev_tabulky=sloupec1,sloupec2|Nazev_tabulky2=sloupec1,sloupec2
pmc.etlsybase.columns =
pmc.etlsybase.whereCondition = ,,,,,,,,,,,,,,,,,,,,,,,,,,,
pmc.etldbsybase.prefix =
- Tímto nastavením se zapíná opakované spouštění
- Konfigurace připojení do databáze
- Vyměnit za správné uživatelské údaje!
- Nastavení MQ komunikace - je třeba upravit podle prostředí
- Konfigurace tabulek, které se mají přenášet