У меня есть следующий код java для подключения к cassandra. он дает java.lang.NumberFormatExceptionjava.lang.NumberFormatException
любая идея?
package com.retail;
import org.apache.cassandra.thrift.*;
import org.apache.thrift.protocol.*;
import org.apache.thrift.transport.*;
import java.lang.*;
public class ShowKeyspaces {
public static void main(String args[]) throws Exception {
String host = System.getenv("localhost");
int port = Integer.parseInt(System.getenv("9160"));
TSocket socket = new TSocket(host,port);
TTransport transport = new TFramedTransport(socket);
TProtocol proto = new TBinaryProtocol(transport);
transport.open();
Cassandra.Client client = new Cassandra.Client(proto);
System.out.println("Version: "+client.describe_version());
System.out.println("cluster name : "+client.describe_cluster_name());
transport.close();
}
}
Ошибка это дает это:
**Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at com.retail.ShowKeyspaces.main(ShowKeyspaces.java:14)**
Любая идея, как я должен идти об этом ???
Спасибо!
почему 'INT порт = Integer.parseInt (System.getenv ("+9160"));' и не только 'INT порт = 9160;'? –
, потому что System.getenv принимает только строковый параметр и, сохраняя его в порту, должен иметь целое число. –
Его также почему вы получаете 'java.lang.NumberFormatException', оберните его в try catch для проверки. Использование 'system.getenv' таким образом не имеет смысла, возможно, вам нужно' System.getenv («port») '? –