小编Tuc*_*ker的帖子

Spring Boot - 如何获取正在运行的端口

我有一个spring boot应用程序(使用嵌入式tomcat 7),我已经设置server.port = 0了我的application.properties所以我可以有一个随机端口.服务器启动并在端口上运行后,我需要能够获得所选的端口.

我不能使用,@Value("$server.port")因为它是零.这是一个看似简单的信息,为什么我不能从我的java代码中访问它?我该如何访问它?

port spring embedded-tomcat-7 spring-boot

62
推荐指数
8
解决办法
7万
查看次数

Java反射:获取字段类

我有一个方法,需要像Double.class其中一个输入;

例如

someOutput = SomeObj.someMethod("parameter",Double.class);
Run Code Online (Sandbox Code Playgroud)

我有了很多不同的数据类型的字段,我想在书面明确代替输入养活这个方法的另一个类Double.classInteger.class等等等等.

我知道这涉及到java反射,但我不太清楚如何做我想要的.我正在尝试这样的东西,但它不起作用:

for(Field field : Class.forName(MyClassWithLotsOfFields.class.getCanonicalName()).getFields()){ 
   someOutput = SomeObj.someMethod("parameter",field.getClass());
  //Do more stuff here...
}   
Run Code Online (Sandbox Code Playgroud)

但是field.getClass()并没有给我这个领域的实际课程MyClassWithLotsOfFields而是java.lang.reflect.Field

如何做我想做的任何想法?

java reflection

13
推荐指数
1
解决办法
2万
查看次数

如何在MySQL中查看.csv上传的进度

我有一个非常大的.csv文件,我用LOAD DATA INFILE命令将它加载到mysql中.因为它花了这么长时间,我想看看上传进展的程度.

到目前为止,我已经尝试了两种方法 - 首先,我只是执行了一个SELECT COUNT(*)命令来查看在上载过程中插入了多少行,但是总是返回0的计数.
其次,我尝试了SHOW PROCESSLIST并查看查询运行了多长时间.有时候状态会说"释放数据"或其他类似的东西.

有没有人知道跟踪LOAD DATA INFILE命令进度的好方法?此外,有谁知道如何跟踪插入率?

谢谢

mysql csv load-data-infile

10
推荐指数
3
解决办法
8622
查看次数

查询MySQL中的分片数据

我正在处理MySQL数据库中的大量数据,我想使用分片来扩展.我理解分片的原理,我甚至知道如何分割我的数据.

当我查找数据库分片时,我找不到任何关于如何实际管理和查询分片数据库的综合示例.

具体来说,假设我已将数据拆分为多个表/数据库(分片),查询该数据的最佳方法是什么?我认为没有办法让mysql智能地知道要使用哪个分片.

是否有可以管理分片和查询的第三方软件?或者我是否必须更改我的代码(用PHP编写)来与分片数据进行交互?

mysql scaling sharding

8
推荐指数
2
解决办法
6427
查看次数

从eclipse启动mapreduce作业

我用Java编写了一个mapreduce程序,我可以将其提交给以分布式运行的远程集群.目前,我使用以下步骤提交作业:

  1. 将mapreuce作业导出为jar(例如myMRjob.jar)
  2. 使用以下shell命令将作业提交到远程集群: hadoop jar myMRjob.jar

当我尝试运行程序时,我想直接从Eclipse提交作业.我怎样才能做到这一点?

我目前正在使用CDH3,我的conf的删节版本是:

conf.set("hbase.zookeeper.quorum", getZookeeperServers());
conf.set("fs.default.name","hdfs://namenode/");
conf.set("mapred.job.tracker", "jobtracker:jtPort");
Job job = new Job(conf, "COUNT ROWS");
job.setJarByClass(CountRows.class);

// Set up Mapper
TableMapReduceUtil.initTableMapperJob(inputTable, scan, 
    CountRows.MyMapper.class, ImmutableBytesWritable.class,  
    ImmutableBytesWritable.class, job);  

// Set up Reducer
job.setReducerClass(CountRows.MyReducer.class);
job.setNumReduceTasks(16);

// Setup Overall Output
job.setOutputFormatClass(MultiTableOutputFormat.class);

job.submit();
Run Code Online (Sandbox Code Playgroud)

当我直接从Eclipse运行它时,该作业已启动,但Hadoop无法找到映射器/缩减器.我收到以下错误:

12/06/27 23:23:29 INFO mapred.JobClient:  map 0% reduce 0%  
12/06/27 23:23:37 INFO mapred.JobClient: Task Id :   attempt_201206152147_0645_m_000000_0, Status : FAILED  
java.lang.RuntimeException: java.lang.ClassNotFoundException:   com.mypkg.mapreduce.CountRows$MyMapper  
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:996)  
    at org.apache.hadoop.mapreduce.JobContext.getMapperClass(JobContext.java:212)  
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:602)  
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)   
    at org.apache.hadoop.mapred.Child$4.run(Child.java:270)  
    at java.security.AccessController.doPrivileged(Native …
Run Code Online (Sandbox Code Playgroud)

eclipse hadoop mapreduce

8
推荐指数
1
解决办法
1万
查看次数

如何将IPSec/Openswan与亚马逊的虚拟私有云(VPC)和EC2一起使用?

有谁知道如何使用Openswan创建到EC2上的Cisco路由器的IPSec隧道?

我一直在读,人们可以或者他们无法在亚马逊的云上建立IPSec隧道.有可能吗?

如果是这样,有人能指点我成功的教程吗?

ipsec amazon-ec2 vpc amazon-web-services amazon-vpc

6
推荐指数
1
解决办法
1万
查看次数

运行Java应用程序和PHP

我有一个具有健康Java API的java程序,但我希望在我的java应用程序和php脚本之间构建一个原始接口,因为这些是我项目的要求.

我的第一次尝试是编写一个运行passthru函数的PHP脚本来运行jar.即

passthru("java -jar myjarfile param1 param2 param3")
Run Code Online (Sandbox Code Playgroud)

这有效,但事实证明它很慢,因为jar文件必须启动和执行等.

我的下一个尝试是在Tomcat7上创建一个servlet,并通过curl()命令与PHP连接.即

curl(http://myserver/mywebapp/myservlet?p1=param1&p2=param2&p3=param3);
Run Code Online (Sandbox Code Playgroud)

这有很好的性能,但servlet非常不稳定并且在大约5分钟后崩溃(我每10秒钟加载服务器大约1个请求)

我来Stack Overflow问:我这样做对吗?有没有更好的办法?如何让我的java程序在jvm中运行并使用PHP与它交互?

谢谢

php java api

5
推荐指数
1
解决办法
680
查看次数

春天云与Eureka - Eureka Web UI URL

我在我的春季启动应用程序中安装了Eureka,Eureka内置了一个整洁的Web UI,我喜欢它

这是我的配置 application.yml

server:
  port: 8081
management:
  context_path: /admin    

## EUREKA CONFIG ##
eureka:  
  instance:
    hostname: localhost    
  metadataMap:
    instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}    
  client:
    registerWithEureka: true
    fetchRegistry: true
    server:
      waitTimeInMsWhenSyncEmpty: 0
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 
Run Code Online (Sandbox Code Playgroud)

但是,Web UI显示在我的eureka服务器上

http://localhost:8081/
Run Code Online (Sandbox Code Playgroud)

有没有办法将web ui的url更改为类似的东西

http://localhost:8081/eurekawebui
Run Code Online (Sandbox Code Playgroud)

谢谢

spring netflix spring-cloud netflix-eureka

5
推荐指数
1
解决办法
8920
查看次数

如果字符串恰好包含字符的N个字符,则匹配正则表达式

我想要一个正则表达式来匹配一个字符串,只要它包含一个预定义次数的字符.

例如:我想匹配包含字符"_"3次的所有字符串;

因此"a_b_c_d"将通过
"a_b"将失败
"a_b_c_d_e"将失败

有人知道一个能满足这个要求的简单正则表达式吗?

谢谢

regex pattern-matching

4
推荐指数
1
解决办法
8475
查看次数

使用coprocesor HBase创建二级索引

我一直在尝试编写自己的协处理器,使用prePut钩子创建二级索引.首先,我一直在努力让prePut协处理器工作.到目前为止,我可以将协处理器添加到传递给它的put对象.我所发现的是,我不能让协处理器写一行从什么放传入的对象单独被写入.显然要创建一个二级索引,我需要弄清楚这个.

下面是我的协处理器的代码,但它不起作用.
是的,所有表都存在,'colfam1'也存在.
HBase版本:来自Cloudera CDH4的HBase 0.92.1-cdh4.1.2

有谁知道问题是什么?

    @Override
        public void prePut(final ObserverContext<RegionCoprocessorEnvironment> e,final Put put, final WALEdit edit, final boolean writeToWAL) throws IOException {          
            KeyValue kv = new KeyValue(Bytes.toBytes("COPROCESSORROW"), Bytes.toBytes("colfam1"),Bytes.toBytes("COPROCESSOR: "+System.currentTimeMillis()),Bytes.toBytes("IT WORKED"));
            put.add(kv);
        }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

    ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 action: IOException: 1 time, servers with issues:
Run Code Online (Sandbox Code Playgroud)

更新:

我已将我的协处理器修改为以下内容,但我仍然收到错误.现在编写了post-Put(二级索引),但仍然存在超时错误.
该区域的整个表格崩溃也要求我重新启动该区域.有时区域重新启动不起作用,整个区域(所有表)都已损坏,需要重建服务器.

我不知道为什么...!?

@Override
      public void start(CoprocessorEnvironment env) throws IOException {        
        LOG.info("(start)");
        pool = new HTablePool(env.getConfiguration(), 10);
     }

    @Override
    public void postPut(final ObserverContext<RegionCoprocessorEnvironment> observerContext,final Put put,final WALEdit edit,final boolean writeToWAL) throws IOException { …
Run Code Online (Sandbox Code Playgroud)

indexing hadoop hbase

4
推荐指数
1
解决办法
7235
查看次数

从两个表中选择不同的值

我有两个相当大的数据库(每个+1百万行).两个表都具有相同的结构.

如何检查列中的每个值在两个表中是否唯一?

是否有一种
SELECT COUNT(DISTINCTcol ) FROM tbl
类型的查询会考虑BOTH表?

谢谢!

mysql count distinct multiple-tables

2
推荐指数
1
解决办法
1万
查看次数

无法从php中删除db中的行

我有2页sell.php和sell_form.php.当用户从sell_form.php的下拉菜单中选择股票代码时,我在sell.php中有一个查询,该查询应该从数据库中删除该股票代码,但我现在得到的只是一个空白页面我点击卖出按钮.我不确定我是否完全理解下拉菜单中的值如何传递给sell.php表单.这是我到目前为止的代码

这是我的sell.php文件

if ($_SERVER["REQUEST_METHOD"] == "POST") 
{



    // delete the stock from their portfolio 
query("DELETE FROM shares WHERE id = ? AND symbol = ?", $_SESSION["id"],$_POST["symbol"]);  

redirect("/");
}
else
{

$rows = query("SELECT * FROM shares WHERE id = ?", $_SESSION["id"]);

    //create array to store the shares
    $shares = [];

    //for each of the user info

    foreach($rows as $row){

        //lookup stock info
        $stock = lookup($row["symbol"]);
        if($stock !== false){

            $shares[] = [
                "name" => $stock["name"],
                "price" => $stock["price"],
                "shares" => $row["shares"], …
Run Code Online (Sandbox Code Playgroud)

html php sql

2
推荐指数
1
解决办法
111
查看次数