Releases: Ivanlaguna511/Distributed-Spotify-Java-RMI
Releases · Ivanlaguna511/Distributed-Spotify-Java-RMI
Final Release (Module 3)
This release marks the completion of the distributed Spotify-like architecture. It integrates full location transparency, asynchronous data streaming, and enterprise-grade security.
Key Features Included:
- Hybrid Architecture: Control plane handled via Java RMI, Data plane handled via multi-threaded TCP Sockets.
- End-to-End Encryption: RMI Registry, method invocations, and Callbacks are fully secured using
SslRMIClientSocketFactoryandSslRMIServerSocketFactorywith custom KeyStores. - RMI Callbacks: Bi-directional communication allowing the server to remotely trigger the client's OS Media Player.
- Thread-Safe Concurrency: Robust handling of multiple connected clients using custom
ConcurrentMultiMapandConcurrentHashMapstructures. - File Auditing: Implemented a persistent
.txtlogging system to track stream sessions, IPs, and byte transfers. - Dynamic Preloading: The server automatically scans and loads physical
.mp3and.jpgfiles across dynamic OS paths on startup.
Note: Ensure a valid keystore.jks is generated in the root directory before running the compiled classes.