Preise

Schnellstart

Quelldateien

Diese Seite wurde aus den folgenden Quelldateien erstellt:

Umgebungskonfiguration Profile

Das nbcio-boot System verwendet Spring Profile zur Unterscheidung verschiedener Laufzeitumgebungen. Die Hauptkonfiguration befindet sich in application.yml, wobei standardmäßig das Entwicklungsprofil aktiviert ist.

Die zentrale Konfigurationsdatei definiert den Anwendungsnamen als jeecg-system und setzt das aktive Profil über die Umgebungsvariable ${env:dev} (nbcio-boot-module-system/src/main/resources/application.yml:1-6). Für Produktionsumgebungen muss diese Variable entsprechend angepasst oder der Wert direkt geändert werden.

Das Entwicklungsprofil application-dev.yml konfiguriert den Server auf Port 8080 mit dem Kontextpfad /nbcio-boot (nbcio-boot-module-system/src/main/resources/application-dev.yml:1-14). Die Komprimierung ist für Responses ab 1024 Bytes aktiviert und unterstützt gängige MIME-Typen wie JavaScript, JSON, XML und CSS.

EinstellungWertBeschreibung
Server Port8080HTTP-Listener-Port
Context Path/nbcio-bootBasis-URL-Pfad für alle Endpoints
Komprimierungab 1024 BytesResponse-Komprimierung aktiviert

Datenbankverbindung einrichten

MySQL Datenbankkonfiguration

Das System benötigt eine MySQL-Datenbank mit der Bezeichnung nbcio-boot. Die Verbindung wird über den Druid Connection Pool verwaltet, der für Leistung und Überwachung optimiert ist.

Die Master-Datenquelle ist unter spring.datasource.dynamic.datasource.master konfiguriert und verbindet sich mit jdbc:mysql://192.168.199.151:3306/nbcio-boot (nbcio-boot-module-system/src/main/resources/application-dev.yml:104-148). Der Treiber verwendet com.mysql.cj.jdbc.Driver mit Zeitzoneneinstellung Asia/Shanghai.

Wichtige Verbindungspool-Parameter:

ParameterWertZweck
initial-size5Initiale Verbindungen
min-idle5Minimale Idle-Verbindungen
maxActive20Maximale aktive Verbindungen
maxWait60000msMaximale Wartezeit auf Verbindung
validationQuerySELECT 1 FROM DUALVerbindungsprüfung

Die Druid-Statistik-Schnittstelle ist unter dem Kontextpfad erreichbar mit den Anmeldedaten admin / 123456 (nbcio-boot-module-system/src/main/resources/application-dev.yml:104-148).

Redis Cache Anbindung

Redis wird als Cache und Session-Speicher verwendet. Die Verbindung erfolgt zu 192.168.199.151:6379 mit dem Passwort masterredis (nbcio-boot-module-system/src/main/resources/application-dev.yml:149-161).

Die Lettuce-Verbindungspool-Konfiguration setzt folgende Werte:

  • max-active: 8 — Maximale gleichzeitige Verbindungen
  • max-idle: 8 — Maximale Idle-Verbindungen im Pool
  • max-wait: -1ms — Unbegrenzte Wartezeit bei Pool-Erschöpfung
  • min-idle: 0 — Keine Mindestanzahl an Idle-Verbindungen

Datenbankinitialisierung

SQL Schema Import

Vor dem ersten Start muss das Datenbankschema importiert werden. Die Datei db/nbcio-boot.sql enthält alle notwendigen Tabellenstrukturen für Flowable Workflow-Engine und Systemkomponenten.

Das Schema umfasst Tabellen für CMMN (Case Management) wie act_cmmn_casedef und act_cmmn_deployment (db/nbcio-boot.sql:111-146). Diese Tabellen verwenden ENGINE=InnoDB mit utf8mb4 Zeichensatz für vollständige Unicode-Unterstützung.

Initialisierungsschritte:

bash
1# 1. MySQL-Datenbank erstellen
2mysql -u root -p -e "CREATE DATABASE nbcio_boot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
3
4# 2. Schema importieren
5mysql -u root -p nbcio_boot < db/nbcio-boot.sql

Notwendige Tabellenstruktur

Die Datenbank-Change-Log-Tabelle act_cmmn_databasechangelog verfolgt ausgeführte Migrationen mit MD5-Prüfsummen (db/nbcio-boot.sql:156-191). Dies ermöglicht Liquibase-basierte Schema-Evolution.

Die Einträge zeigen, dass Flowable CMMN-Tabellen durch Liquibase initialisiert wurden, mit Zeitstempeln vom April 2022. Jede Migration hat eine eindeutige ID, Autor und Prüfsumme zur Integritätsprüfung.

Wichtige Systemeinstellungen

Datei-Upload Limits

Die Anwendung unterstützt Datei-Uploads mit konfigurierten Größenbeschränkungen. Die maximale Dateigröße und Request-Größe sind auf 10MB begrenzt (nbcio-boot-module-system/src/main/resources/application-dev.yml:22-31).

yaml
1spring:
2  servlet:
3    multipart:
4      max-file-size: 10MB
5      max-request-size: 10MB

Spring DevTools sind im Entwicklungsmodus aktiviert und ermöglichen Hot-Reload ohne Neustart (nbcio-boot-module-system/src/main/resources/application-dev.yml:22-31).

MyBatis Plus Konfiguration

MyBatis Plus ist als ORM-Framework konfiguriert mit Mapper-XML-Dateien unter org/jeecg/modules/**/xml/*Mapper.xml und com/nbcio/modules/**/xml/*Mapper.xml (nbcio-boot-module-system/src/main/resources/application-dev.yml:162-177).

Die Primärschlüssel-Strategie verwendet ASSIGN_ID für verteilte ID-Generierung. Tabellennamen folgen der Unterstrich-Notation (Snake-Case).

EinstellungWertBeschreibung
id-typeASSIGN_IDVerteilte ID-Generierung
table-underlinetrueSnake-Case Tabellennamen
bannerfalseKein MyBatis Plus Banner

Minimale Startanforderungen

Erforderliche Infrastruktur

Das System benötigt folgende Komponenten für einen erfolgreichen Start:

  1. MySQL 5.7+ — Datenbank mit Schema nbcio-boot
  2. Redis 5.0+ — Cache und Session-Speicher
  3. JDK 1.8+ — Java Runtime Environment

Schnellstart-Befehle

bash
1# 1. Repository klonen
2git clone https://github.com/nbacheng/nbcio-boot.git
3cd nbcio-boot
4
5# 2. Datenbank vorbereiten (IP/Passwort anpassen)
6mysql -u root -p < db/nbcio-boot.sql
7
8# 3. Konfiguration anpassen
9# application-dev.yml: MySQL- und Redis-Verbindungsdaten ändern
10
11# 4. Anwendung starten
12mvn spring-boot:run -pl nbcio-boot-module-system

Hinweis: Die Standardkonfiguration verweist auf 192.168.199.151 für MySQL und Redis. Diese IP-Adressen müssen für die lokale Umgebung angepasst werden (nbcio-boot-module-system/src/main/resources/application-dev.yml:104-161).

Laufzeitverifikation

Service-Erreichbarkeit prüfen

Nach erfolgreichem Start ist die Anwendung unter folgender URL erreichbar:

http://localhost:8080/nbcio-boot/

Der Server-Port 8080 und Kontextpfad /nbcio-boot sind in der Entwicklungskonfiguration definiert (nbcio-boot-module-system/src/main/resources/application-dev.yml:1-14).

Druid-Monitoring aufrufen

Die Druid-Datenbanküberwachung ist verfügbar unter:

http://localhost:8080/nbcio-boot/druid/

Anmeldedaten: admin / 123456 (nbcio-boot-module-system/src/main/resources/application-dev.yml:104-148).

Actuator-Endpoints

Die Actuator-Schnittstelle stellt Metriken und HTTP-Trace bereit unter:

http://localhost:8080/nbcio-boot/actuator/metrics
http://localhost:8080/nbcio-boot/actuator/httptrace

Die Exposition dieser Endpoints ist in der Management-Konfiguration definiert (nbcio-boot-module-system/src/main/resources/application-dev.yml:16-20).

Häufige Probleme und Lösungen

Problem 1: Datenbankverbindungsfehler

Symptom: Anwendung startet nicht mit Communications link failure oder Access denied.

Ursache: Falsche MySQL-Verbindungsparameter oder Datenbank nicht vorhanden.

Lösung:

  1. MySQL-URL, Benutzername und Passwort in application-dev.yml prüfen (nbcio-boot-module-system/src/main/resources/application-dev.yml:139-141)
  2. Datenbankexistenz verifizieren: SHOW DATABASES LIKE 'nbcio-boot';
  3. Benutzerberechtigungen prüfen: GRANT ALL ON nbcio_boot.* TO 'root'@'%';

Problem 2: Redis-Verbindungstimeout

Symptom: Fehlermeldung Unable to connect to Redis oder Timeouts beim Caching.

Ursache: Redis-Server nicht erreichbar oder falsches Passwort.

Lösung:

  1. Redis-Host und Port verifizieren (nbcio-boot-module-system/src/main/resources/application-dev.yml:152-161)
  2. Redis-Passwort in Konfiguration mit Server-Konfiguration abgleichen
  3. Redis-Verbindung testen: redis-cli -h 192.168.199.151 -p 6379 -a masterredis ping

Problem 3: Port 8080 bereits belegt

Symptom: Port 8080 was already in use beim Start.

Ursache: Andere Anwendung nutzt denselben Port.

Lösung:

  1. Belegenden Prozess identifizieren: netstat -tulpn | grep 8080 (Linux) oder netstat -ano | findstr :8080 (Windows)
  2. Prozess beenden oder Server-Port in application-dev.yml ändern (nbcio-boot-module-system/src/main/resources/application-dev.yml:1-14)

Problem 4: Quartz-Tabellen nicht gefunden

Symptom: Table 'nbcio_boot.QRTZ_LOCKS' doesn't exist bei Scheduler-Initialisierung.

Ursache: Quartz-Tabellen nicht im Schema enthalten.

Lösung:

  1. Vollständiges SQL-Schema importieren (db/nbcio-boot.sql:111-330)
  2. Quartz-Konfiguration prüfen: job-store-type: jdbc (nbcio-boot-module-system/src/main/resources/application-dev.yml:44-68)

Nächste Schritte

Nach erfolgreichem Start der Anwendung empfiehlt sich die Auseinandersetzung mit folgenden Themen:

  1. API-Dokumentation — Erkundung der verfügbaren REST-Endpoints über Swagger/OpenAPI (falls konfiguriert)
  2. Workflow-Konfiguration — Anpassung der Flowable-Prozessdefinitionen für spezifische Geschäftsprozesse
  3. Sicherheitseinstellungen — Überprüfung der Shiro-Konfiguration und Anpassung der Authentifizierungsregeln (nbcio-boot-module-system/src/main/resources/application-dev.yml:196-197)
  4. Datei-Upload-Speicher — Konfiguration des Upload-Verzeichnisses /opt/upFiles an lokale Gegebenheiten anpassen (nbcio-boot-module-system/src/main/resources/application-dev.yml:191-195)
  5. MinIO-Integration — Bei Verwendung von MinIO als Objektspeicher die entsprechenden Zugangsdaten konfigurieren

Für Produktionsumgebungen müssen zusätzlich folgende Aspekte adressiert werden:

  • Änderung aller Standardpasswörter (Datenbank, Redis, Druid)
  • Deaktivierung der DevTools (spring.devtools.restart.enabled: false)
  • Anpassung der Signatur-Secrets für API-Sicherheit
  • Konfiguration eines Reverse-Proxies mit TLS-Terminierung