Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

RLib

License

NotificationsYou must be signed in to change notification settings

JavaSaBr/RLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Please see the file called LICENSE.

How to use for java 21+

Gradle

repositories {    maven {        url"https://gitlab.com/api/v4/projects/37512056/packages/maven"     }}ext {   rlibVersion="10.0.alpha6"}dependencies {  implementation"javasabr.rlib:rlib-common:$rlibVersion"  implementation"javasabr.rlib:rlib-collections:$rlibVersion"  implementation"javasabr.rlib:rlib-compiler:$rlibVersion"  implementation"javasabr.rlib:rlib-concurrent:$rlibVersion"  implementation"javasabr.rlib:rlib-geometry:$rlibVersion"  implementation"javasabr.rlib:rlib-logger-api:$rlibVersion"  implementation"javasabr.rlib:rlib-logger-slf4j:$rlibVersion"  implementation"javasabr.rlib:rlib-plugin-system:$rlibVersion"  implementation"javasabr.rlib:rlib-reference:$rlibVersion"  implementation"javasabr.rlib:rlib-reusable:$rlibVersion"  implementation"javasabr.rlib:rlib-fx:$rlibVersion"  implementation"javasabr.rlib:rlib-network:$rlibVersion"  implementation"javasabr.rlib:rlib-mail:$rlibVersion"  implementation"javasabr.rlib:rlib-testcontainers:$rlibVersion"}

Most interesting parts:

Fake SMTP Server

varcontainer =newFakeSMTPTestContainer()    .withSmtpPassword("pwd")    .withSmtpUser("test_user");container.start();container.waitForReadyState();// sending emails to this server// checking APIvarcount =container.getEmailCountFrom("from@test.com");// clearing APIcontainer.deleteEmails();

Classpath Scanner API

varscanner =ClassPathScannerFactory.newDefaultScanner();scanner.setUseSystemClasspath(true);scanner.scan();varimplementations =scanner.findImplements(Collection.class);varinherited =scanner.findInherited(AbstractArray.class);

Compiler API

varjavaSource =getClass().getResource("/java/source/TestCompileJavaSource.java");varcompiler =CompilerFactory.newDefaultCompiler();varcompiled =compiler.compile(javaSource.toURI());varinstance =ClassUtils.newInstance(compiled[0]);varmethod =instance    .getClass()    .getMethod("makeString");varresult =method.invoke(instance);

Logger API

// getting logger by class/namevarlogger =LoggerManager.getLogger(getClass());// global enable/disable debug levelLoggerLevel.DEBUG.setEnabled(true);logger.debug("Simple message");logger.debug(5, (val) ->"Lazy message with 5: " +val);logger.debug(5,"Lazy message with 5:%d"::formated);logger.debug(5,10D, (val1,val2) ->"Lazy message with 5: " +val1 +" and 10: " +val2);logger.debug(5,10D,"Lazy message with 5:%d and 10:%d"::formatted);// global disable debug levelLoggerLevel.DEBUG.setEnabled(false);// local enable debug level only for this logger instancelogger.setEnabled(LoggerLevel.DEBUG,true);

Mail Sender

varconfig =MailSenderConfig    .builder()    .from("from@test.com")    .host("smtp.test.com")    .port(smtpPort)    .password(smtpPassword)    .username(smtpUser)    .useAuth(true)    .enableTtls(true)    .sslHost("smtp.test.com")    .build();varjavaxConfig =JavaxMailSender.JavaxMailSenderConfig    .builder()    .executorKeepAlive(120)    .executorMaxThreads(20)    .executorMinThreads(1)    .build();varsender =newJavaxMailSender(config,javaxConfig);sender.send("to@test.com","Test Subject","Content");sender    .sendAsync("to@test.com","Test Subject","Content")    .thenAccept(aVoid ->System.out.println("done!"));

Network API

Simple String Echo Server/Client

varserverNetwork =NetworkFactory.newStringDataServerNetwork();varserverAddress =serverNetwork.start();serverNetwork    .accepted()    .flatMap(Connection::receivedEvents)    .subscribe(event -> {varmessage =event.packet.getData();System.out.println("Received from client: " +message);event.connection.send(newStringWritablePacket("Echo: " +message));    });varclientNetwork =NetworkFactory.newStringDataClientNetwork();clientNetwork    .connected(serverAddress)    .doOnNext(connection ->IntStream        .range(10,100)        .forEach(length ->connection.send(newStringWritablePacket(StringUtils.generate(length)))))    .flatMapMany(Connection::receivedEvents)    .subscribe(event ->System.out.println("Received from server: " +event.packet.getData()));

[8]ページ先頭

©2009-2025 Movatter.jp