We address in this paper the problem of jointly scheduling hard periodic tasks and soft aperiodic events using the Real-Time Specification for Java (RTSJ). We present the programming constraints of RTSJ and propose slack time evaluation and utilization algorithms which take these constraints into account. We evaluate these algorithms and compare their performances with the Background Scheduling (BS) through simulations.