com.facebook.nifty:nifty-ssl

Nifty SSL

License

License

GroupId

GroupId

com.facebook.nifty
ArtifactId

ArtifactId

nifty-ssl
Last Version

Last Version

0.23.0
Release Date

Release Date

Type

Type

jar
Description

Description

Nifty SSL

Download nifty-ssl

How to add to project

<!-- https://jarcasting.com/artifacts/com.facebook.nifty/nifty-ssl/ -->
<dependency>
    <groupId>com.facebook.nifty</groupId>
    <artifactId>nifty-ssl</artifactId>
    <version>0.23.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.facebook.nifty/nifty-ssl/
implementation 'com.facebook.nifty:nifty-ssl:0.23.0'
// https://jarcasting.com/artifacts/com.facebook.nifty/nifty-ssl/
implementation ("com.facebook.nifty:nifty-ssl:0.23.0")
'com.facebook.nifty:nifty-ssl:jar:0.23.0'
<dependency org="com.facebook.nifty" name="nifty-ssl" rev="0.23.0">
  <artifact name="nifty-ssl" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.facebook.nifty', module='nifty-ssl', version='0.23.0')
)
libraryDependencies += "com.facebook.nifty" % "nifty-ssl" % "0.23.0"
[com.facebook.nifty/nifty-ssl "0.23.0"]

Dependencies

compile (8)

Group / Artifact Type Version
com.facebook.nifty : nifty-core jar 0.23.0
com.google.guava : guava jar 18.0
io.netty : netty jar 3.10.5.Final
io.netty : netty-tcnative-boringssl-static jar 1.1.33.Fork23
com.fasterxml.jackson.core : jackson-core jar 2.4.4
com.fasterxml.jackson.core : jackson-databind jar 2.4.4
io.airlift : log jar 0.119
io.airlift : units jar 0.119

test (1)

Group / Artifact Type Version
org.testng : testng jar 6.9.6

Project Modules

There are no modules declared in this project.

Project Status: 🚨 Unmaintained 🚨

This project is archived and no longer maintained. At the time of archiving, open issues and pull requests were closed and tagged with 2018-05-archive. For pre-existing users who need an open source alternative, we recommend taking a look at airlift/drift.

Nifty

Nifty is an implementation of Thrift clients and servers on Netty.

It is also the implementation used by Swift.

Examples

To create a basic Thrift server using Nifty, use the Thrift 0.9.0 code generator to generate Java stub code, write a Handler for your service interface, and pass it to Nifty like this:

public void startServer() {
    // Create the handler
    MyService.Iface serviceInterface = new MyServiceHandler();

    // Create the processor
    TProcessor processor = new MyService.Processor<>(serviceInterface);

    // Build the server definition
    ThriftServerDef serverDef = new ThriftServerDefBuilder().withProcessor(processor)
                                                            .build();

    // Create the server transport
    final NettyServerTransport server = new NettyServerTransport(serverDef,
                                                                 new NettyServerConfigBuilder(),
                                                                 new DefaultChannelGroup(),
                                                                 new HashedWheelTimer());

    // Create netty boss and executor thread pools
    ExecutorService bossExecutor = Executors.newCachedThreadPool();
    ExecutorService workerExecutor = Executors.newCachedThreadPool();

    // Start the server
    server.start(bossExecutor, workerExecutor);

    // Arrange to stop the server at shutdown
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            try {
                server.stop();
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            }
        }
    });
}

Or the same thing using guice:

public void startGuiceServer() {
    final NiftyBootstrap bootstrap = Guice.createInjector(
        Stage.PRODUCTION,
        new NiftyModule() {
            @Override
            protected void configureNifty() {
                // Create the handler
                MyService.Iface serviceInterface = new MyServiceHandler();

                // Create the processor
                TProcessor processor = new MyService.Processor<>(serviceInterface);

                // Build the server definition
                ThriftServerDef serverDef = new ThriftServerDefBuilder().withProcessor(processor)
                                                                        .build();

                // Bind the definition
                bind().toInstance(serverDef);
            }
        }).getInstance(NiftyBootstrap.class);

    // Start the server
    bootstrap.start();

    // Arrange to stop the server at shutdown
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            bootstrap.stop();
        }
    });
}
com.facebook.nifty

Facebook

We are working to build community through open source technology. NB: members must have two-factor auth.

Versions

Version
0.23.0
0.22.0
0.21.0
0.20.0