Ignore:
Timestamp:
Jun 9, 2016, 2:21:26 PM (8 years ago)
Author:
djay
Message:

Fix issue with headers located in extern C. Define java.library.path at runtime to search for libZOO.so from the Java zoo-api.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/service_internal_java.c

    r765 r767  
    4040  maps* inputs=*real_inputs;
    4141  maps* outputs=*real_outputs;
    42   char ntmp[1024];
    43   getcwd(ntmp,1024);
     42  map* cwdMap=getMapFromMaps(*main_conf,"lenv","cwd");
     43  char *ntmp=NULL;
     44  if(cwdMap!=NULL)
     45    ntmp=zStrdup(cwdMap->value);
    4446  map* tmp=getMap(request,"metapath");
    4547  char *classpath;
     
    8082  }
    8183  sprintf(oclasspath,"-Djava.class.path=%s",classpath);
    82 
    8384#ifdef DEBUG
    8485  fprintf(stderr,"CLASSPATH=%s\n",classpath);
    8586  fprintf(stderr,"(%s)\n",oclasspath);
    8687#endif
     88#ifndef USE_JDB
     89  int njdb=0;
     90#else
     91  int njdb=2;
     92#endif
    8793#ifndef WIN32
    88   int nb=1;
     94  int nb=3+njdb;
    8995#endif
    9096  int nbc0=0;
     
    125131  options[0].optionString = oclasspath;
    126132  options[0].extraInfo=NULL;
     133  options[1].optionString = "-server";
     134  options[1].extraInfo=NULL;
     135  char tmp1[100];
     136  sprintf(tmp1,"-Djava.library.path=%s",cwdMap->value);
     137  fprintf(stderr,"%s\n",tmp1);
     138  options[2].optionString = tmp1;
     139  options[2].extraInfo=NULL;
     140#ifdef USE_JDB
     141  options[3].optionString = "-Xdebug";
     142  options[3].extraInfo=NULL;
     143  options[4].optionString = "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7896";
     144  options[4].extraInfo=NULL;
     145#endif
    127146#ifdef WIN32
    128147  start=2;
    129148  options[1].optionString = "-Xmx512m";
    130149#else
    131   start=1;
     150  start=3+njdb;
    132151#endif
    133152  for(i=0;i<nbc0;i++){
     
    164183  tmp=getMap(s->content,"serviceProvider");
    165184#ifdef JAVA7
    166   cls = env->FindClass(tmp->value);
    167   cls_gr = env->NewGlobalRef(cls);
     185  cls = (*env).FindClass(tmp->value);
    168186#else
    169187  cls = (*env)->FindClass(env,tmp->value);
    170   cls_gr = (*env)->NewGlobalRef(env, cls);
    171188#endif
    172189  if( cls == NULL ) {
     
    183200    fprintf(stderr,"%s loaded\n",tmp->value);
    184201  }
     202#endif
     203#ifdef JAVA7
     204  cls_gr = (*env)NewGlobalRef(cls);
     205#else
     206  cls_gr = (*env)->NewGlobalRef(env, cls);
    185207#endif
    186208
     
    246268      displayStack(env,*main_conf);
    247269#ifdef JAVA7
     270      (*env).ExceptionDescribe();
    248271      (*jvm).DestroyJavaVM();
    249272#else
     
    324347  if(strncasecmp(m->value,"minus",5)==0)
    325348    sprintf(res,"-XX:-%s",m->name);
    326   else if(strncasecmp(m->value,"plus",5)==0)
     349  else if(strncasecmp(m->value,"plus",4)==0)
    327350    sprintf(res,"-XX:+%s",m->name);
    328351  else
     
    393416              jbyteArray tmpData=(*env).NewByteArray(atoi(sizeV->value));
    394417              (*env).SetByteArrayRegion(tmpData,0,atoi(sizeV->value),(const jbyte *)tmp1->value);
    395               (*env).CallObjectMethod(scObject1, put_mid, (*env).NewStringUTF(tmp1->name), tmpData);
     418              (*env).CallObjectMethod(env,scObject1, put_mid, (*env).NewStringUTF(env,tmp1->name), tmpData);
    396419#else
    397420              jbyteArray tmpData=(*env)->NewByteArray(env,atoi(sizeV->value));
    398               (*env)->SetByteArrayRegion(env,tmpData,0,atoi(sizeV->value),tmp1->value);
     421              (*env)->SetByteArrayRegion(env,tmpData,0,atoi(sizeV->value),(jbyte*) tmp1->value);
    399422              (*env)->CallObjectMethod(env,scObject1, put_mid, (*env)->NewStringUTF(env,tmp1->name), tmpData);
    400423#endif
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png