Skip to content

Commit c0561b4

Browse files
Flossyclaude
andcommitted
Update documentation to reflect new FlossWare library integration
Updated QUICK_START.md and ADVANCED_TRANSPORTS.md to use new library-based approach instead of removed direct implementations. Changes to QUICK_START.md: - Updated version from 1.0 to 1.1 - Replaced direct SDK dependencies with FlossWare library dependencies - Updated SFTP examples to use FileTransferClassSource + SftpFileTransferClient - Removed references to deprecated addSftpSource() methods Changes to ADVANCED_TRANSPORTS.md: - Updated messaging examples to use MessageClientClassSource + jmessaging library - Updated VCS examples to use VcsClientClassSource + jvcs library - Updated container examples to use ContainerClientClassSource + jcontainer library - Updated real-world examples (Enterprise, Kubernetes, etc.) with new library syntax - Updated complete protocol count section to reflect library-based structure (34+ transports) - Reorganized protocol list by library (core, cloud storage, file transfer, messaging, containers, VCS) All old class references (SftpClassSource, WebDavClassSource, KafkaClassSource, RedisClassSource, GitClassSource, KubernetesConfigMapClassSource) replaced with new adapter pattern using specialized FlossWare libraries. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 670d52c commit c0561b4

2 files changed

Lines changed: 162 additions & 82 deletions

File tree

ADVANCED_TRANSPORTS.md

Lines changed: 110 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,24 @@ Complete guide to all advanced transport protocols supported by JClassLoader.
44

55
## Messaging Systems
66

7+
Requires [jmessaging](https://github.com/FlossWare/jmessaging) library.
8+
79
### Apache Kafka
810
Load classes distributed via Kafka topics. Perfect for dynamic class loading in microservices.
911

1012
```java
11-
KafkaClassSource kafka = KafkaClassSource.builder()
13+
import org.flossware.messaging.KafkaMessageClient;
14+
import org.flossware.jclassloader.MessageClientClassSource;
15+
16+
MessageClient kafka = KafkaMessageClient.builder()
1217
.bootstrapServers("localhost:9092")
1318
.topic("class-updates")
1419
.groupId("jclassloader-consumer")
1520
.pollTimeout(1000)
1621
.build();
1722

1823
JClassLoader loader = JClassLoader.builder()
19-
.addClassSource(kafka)
24+
.addClassSource(new MessageClientClassSource(kafka))
2025
.build();
2126
```
2227

@@ -32,7 +37,9 @@ JClassLoader loader = JClassLoader.builder()
3237
Ultra-fast class loading from Redis cache/store.
3338

3439
```java
35-
RedisClassSource redis = RedisClassSource.builder()
40+
import org.flossware.messaging.RedisMessageClient;
41+
42+
MessageClient redis = RedisMessageClient.builder()
3643
.host("localhost")
3744
.port(6379)
3845
.password("secret")
@@ -41,7 +48,7 @@ RedisClassSource redis = RedisClassSource.builder()
4148
.build();
4249

4350
JClassLoader loader = JClassLoader.builder()
44-
.addClassSource(redis)
51+
.addClassSource(new MessageClientClassSource(redis))
4552
.build();
4653
```
4754

@@ -81,27 +88,32 @@ JClassLoader loader = JClassLoader.builder()
8188

8289
## Version Control Systems
8390

91+
Requires [jvcs](https://github.com/FlossWare/jvcs) library.
92+
8493
### Git Repositories
8594
Load classes directly from Git repositories (local or remote).
8695

8796
```java
97+
import org.flossware.vcs.GitVcsClient;
98+
import org.flossware.jclassloader.VcsClientClassSource;
99+
88100
// From local Git repository
89-
GitClassSource localGit = GitClassSource.builder()
101+
VcsClient localGit = GitVcsClient.builder()
90102
.repositoryPath("/path/to/repo")
91103
.branch("main")
92104
.basePath("target/classes")
93105
.build();
94106

95107
// Clone from remote repository
96-
GitClassSource remoteGit = GitClassSource.builder()
108+
VcsClient remoteGit = GitVcsClient.builder()
97109
.remoteUrl("https://github.com/user/repo.git")
98110
.branch("release/v1.0")
99111
.basePath("build/classes")
100112
.cloneDirectory(new File("/tmp/git-classes"))
101113
.build();
102114

103115
JClassLoader loader = JClassLoader.builder()
104-
.addClassSource(remoteGit)
116+
.addClassSource(new VcsClientClassSource(remoteGit))
105117
.build();
106118
```
107119

@@ -121,17 +133,21 @@ JClassLoader loader = JClassLoader.builder()
121133

122134
## Container & Orchestration
123135

136+
Requires [jcontainer](https://github.com/FlossWare/jcontainer) library.
137+
124138
### Kubernetes ConfigMaps
125139
Load classes from Kubernetes ConfigMaps.
126140

127141
```java
128-
KubernetesConfigMapClassSource k8s = KubernetesConfigMapClassSource.builder()
142+
import org.flossware.container.KubernetesContainerClient;
143+
import org.flossware.jclassloader.ContainerClientClassSource;
144+
145+
ContainerClient k8s = KubernetesContainerClient.builder()
129146
.namespace("production")
130-
.configMapName("app-classes")
131147
.build();
132148

133149
JClassLoader loader = JClassLoader.builder()
134-
.addClassSource(k8s)
150+
.addClassSource(new ContainerClientClassSource(k8s, "app-classes"))
135151
.build();
136152
```
137153

@@ -149,8 +165,8 @@ metadata:
149165
name: app-classes
150166
namespace: production
151167
data:
152-
com.example.MyClass: <base64-encoded-class-bytes>
153-
com.example.Another: <base64-encoded-class-bytes>
168+
com/example/MyClass.class: <base64-encoded-class-bytes>
169+
com/example/Another.class: <base64-encoded-class-bytes>
154170
```
155171
156172
---
@@ -275,21 +291,28 @@ JClassLoader loader = JClassLoader.builder()
275291

276292
### Enterprise Hybrid Architecture
277293
```java
294+
import org.flossware.messaging.*;
295+
import org.flossware.jclassloader.MessageClientClassSource;
296+
297+
MessageClient redis = RedisMessageClient.builder()
298+
.host("redis-cluster.internal")
299+
.keyPrefix("prod:class:")
300+
.build();
301+
302+
MessageClient kafka = KafkaMessageClient.builder()
303+
.bootstrapServers("kafka.internal:9092")
304+
.topic("class-updates")
305+
.build();
306+
278307
JClassLoader enterpriseLoader = JClassLoader.builder()
279308
// 1. Local development
280309
.addLocalSource("/opt/app/classes")
281310

282311
// 2. Redis cache for hot classes
283-
.addClassSource(RedisClassSource.builder()
284-
.host("redis-cluster.internal")
285-
.keyPrefix("prod:class:")
286-
.build())
312+
.addClassSource(new MessageClientClassSource(redis))
287313

288314
// 3. Kafka for dynamic updates
289-
.addClassSource(KafkaClassSource.builder()
290-
.bootstrapServers("kafka.internal:9092")
291-
.topic("class-updates")
292-
.build())
315+
.addClassSource(new MessageClientClassSource(kafka))
293316

294317
// 4. HDFS for big data classes
295318
.addClassSource(HdfsClassSource.builder()
@@ -312,20 +335,27 @@ JClassLoader enterpriseLoader = JClassLoader.builder()
312335

313336
### Cloud-Native Kubernetes
314337
```java
338+
import org.flossware.container.KubernetesContainerClient;
339+
import org.flossware.messaging.RedisMessageClient;
340+
import org.flossware.jclassloader.ContainerClientClassSource;
341+
342+
ContainerClient k8s = KubernetesContainerClient.builder()
343+
.namespace("production")
344+
.build();
345+
346+
MessageClient redis = RedisMessageClient.builder()
347+
.host("redis-service")
348+
.build();
349+
315350
JClassLoader k8sLoader = JClassLoader.builder()
316351
// ConfigMaps for configuration
317-
.addClassSource(KubernetesConfigMapClassSource.builder()
318-
.namespace("production")
319-
.configMapName("app-classes")
320-
.build())
352+
.addClassSource(new ContainerClientClassSource(k8s, "app-classes"))
321353

322354
// Redis for cross-pod sharing
323-
.addClassSource(RedisClassSource.builder()
324-
.host("redis-service")
325-
.build())
355+
.addClassSource(new MessageClientClassSource(redis))
326356

327357
// S3 for persistence
328-
.addS3Source(s3Classes)
358+
.addCloudStorage(s3Classes)
329359

330360
.build();
331361
```
@@ -401,50 +431,62 @@ JClassLoader bigDataLoader = JClassLoader.builder()
401431

402432
---
403433

404-
## Complete Protocol Count: **30+ Transports**
434+
## Complete Protocol Count: **34+ Transports**
405435

406-
### Fully Implemented (23 Core Implementations)
436+
### Core jclassloader (14 implementations)
407437

408438
1. **Local File System** - LocalClassSource
409439
2. **HTTP/HTTPS** - RemoteClassSource with JAR support
410-
3. **FTP/FTPS** - FtpClassSource
411-
4. **SFTP** - SftpClassSource
412-
5. **WebDAV** - WebDavClassSource
413-
6. **SMB/CIFS** - SmbClassSource
414-
7. **Maven Central** - MavenRepositoryClassSource
415-
8. **Nexus (Maven)** - MavenNexusClassSource
416-
9. **Nexus (Raw)** - NexusClassSource
417-
10. **Artifactory** - MavenRepositoryClassSource
418-
11. **REST API** - RestApiClassSource (Binary/JSON/Base64)
419-
12. **JDBC Database** - DatabaseClassSource
420-
13. **Apache Kafka** - KafkaClassSource
421-
14. **RabbitMQ** - RabbitMqClassSource
422-
15. **Redis** - RedisClassSource
423-
16. **Hadoop HDFS** - HdfsClassSource
424-
17. **Git** (GitHub/GitLab/Bitbucket) - GitClassSource
425-
18. **Kubernetes ConfigMaps** - KubernetesConfigMapClassSource
426-
19. **Docker** - DockerClassSource
427-
20. **Hazelcast** - HazelcastClassSource
428-
21. **Custom Protocol Handlers** - CustomProtocolClassSource
429-
430-
### Cloud Storage (via jcloudstorage library + CloudStorageClassSource adapter)
431-
432-
22. **AWS S3** - S3CloudStorageClient
433-
23. **Azure Blob Storage** - AzureBlobCloudStorageClient
434-
24. **Google Cloud Storage** - GcsCloudStorageClient
435-
25. **Google Drive** - GoogleDriveCloudStorageClient
436-
26. **Dropbox** - DropboxCloudStorageClient
437-
27. **OneDrive** - OneDriveCloudStorageClient
438-
439-
### S3-Compatible Storage (via MinioClassSource)
440-
441-
28. **MinIO** - MinioClassSource
442-
29. **Backblaze B2** - MinioClassSource
443-
30. **CloudFlare R2** - MinioClassSource
444-
31. **DigitalOcean Spaces** - MinioClassSource
445-
32. **Wasabi** - MinioClassSource
446-
33. **Alibaba Cloud OSS** - MinioClassSource
447-
34+. **Any S3-compatible storage** - MinioClassSource
440+
3. **Maven Central** - MavenRepositoryClassSource
441+
4. **Nexus (Maven)** - MavenNexusClassSource
442+
5. **Nexus (Raw)** - NexusClassSource
443+
6. **Artifactory** - MavenRepositoryClassSource
444+
7. **REST API** - RestApiClassSource (Binary/JSON/Base64)
445+
8. **JDBC Database** - DatabaseClassSource
446+
9. **Hadoop HDFS** - HdfsClassSource
447+
10. **MinIO** - MinioClassSource
448+
11. **Custom Protocol Handlers** - CustomProtocolClassSource
449+
12. **JarRemoteClassSource** - Load from remote JAR files
450+
13. **Backblaze B2** - MinioClassSource (S3-compatible)
451+
14. **CloudFlare R2** - MinioClassSource (S3-compatible)
452+
453+
### Cloud Storage (via [jcloudstorage](https://github.com/FlossWare/jcloudstorage) + CloudStorageClassSource)
454+
455+
15. **AWS S3** - S3CloudStorageClient
456+
16. **Azure Blob Storage** - AzureBlobCloudStorageClient
457+
17. **Google Cloud Storage** - GcsCloudStorageClient
458+
18. **Google Drive** - GoogleDriveCloudStorageClient
459+
19. **Dropbox** - DropboxCloudStorageClient
460+
20. **OneDrive** - OneDriveCloudStorageClient
461+
462+
### File Transfer (via [jfiletransfer](https://github.com/FlossWare/jfiletransfer) + FileTransferClassSource)
463+
464+
21. **SFTP** - SftpFileTransferClient
465+
22. **WebDAV** - WebDavFileTransferClient
466+
23. **SMB/CIFS** - SmbFileTransferClient
467+
24. **FTP/FTPS** - FtpFileTransferClient
468+
469+
### Messaging Systems (via [jmessaging](https://github.com/FlossWare/jmessaging) + MessageClientClassSource)
470+
471+
25. **Apache Kafka** - KafkaMessageClient
472+
26. **RabbitMQ** - RabbitMqMessageClient
473+
27. **Redis** - RedisMessageClient
474+
475+
### Container Systems (via [jcontainer](https://github.com/FlossWare/jcontainer) + ContainerClientClassSource)
476+
477+
28. **Kubernetes ConfigMaps** - KubernetesContainerClient
478+
29. **Docker** - DockerContainerClient
479+
30. **Hazelcast** - HazelcastContainerClient
480+
481+
### Version Control (via [jvcs](https://github.com/FlossWare/jvcs) + VcsClientClassSource)
482+
483+
31. **Git (local)** - GitVcsClient
484+
32. **Git (remote)** - GitVcsClient with auto-clone
485+
33. **GitHub/GitLab/Bitbucket** - GitVcsClient
486+
487+
### S3-Compatible Storage (additional via MinioClassSource)
488+
489+
34+. **DigitalOcean Spaces, Wasabi, Alibaba Cloud OSS, etc.** - MinioClassSource
448490

449491
### Advanced/Optional (Manual Setup Required)
450492

0 commit comments

Comments
 (0)