Java Code Examples for java.util.concurrent.TimeUnit
The following examples show how to use
java.util.concurrent.TimeUnit. These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: android-test Source File: EventInjectorTest.java License: Apache License 2.0 | 6 votes |
@Test public void injectKeyEventUpWithNoDown() throws Exception { ActivityScenario<SendActivity> scenario = ActivityScenario.launch(SendActivity.class); scenario.onActivity( sendActivity -> { View view = sendActivity.findViewById(R.id.send_data_edit_text); assertTrue(view.requestFocus()); latch.countDown(); }); assertTrue("Timed out!", latch.await(10, TimeUnit.SECONDS)); KeyCharacterMap keyCharacterMap = UiControllerImpl.getKeyCharacterMap(); KeyEvent[] events = keyCharacterMap.getEvents("a".toCharArray()); assertTrue(injector.injectKeyEvent(events[1])); }
Example 2
Source Project: etf-webapp Source File: TestRunController.java License: European Union Public License 1.2 | 6 votes |
@PostConstruct public void init() throws ParseException, ConfigurationException, IOException, StorageException { logger.info(Runtime.getRuntime().availableProcessors() + " cores available."); // SEL dir System.setProperty("ETF_SEL_GROOVY", etfConfig.getPropertyAsFile(EtfConstants.ETF_PROJECTS_DIR).expandPath("sui").getPath()); simplifiedWorkflows = "simplified".equals(etfConfig.getProperty(EtfConfigController.ETF_WORKFLOWS)); testRunDao = dataStorageService.getDao(TestRunDto.class); timer = new Timer(true); // Trigger every 30 Minutes final TimedExpiredItemsRemover timedExpiredItemsRemover = new TimedExpiredItemsRemover(); timedExpiredItemsRemover.addExpirationItemHolder( (l, timeUnit) -> taskPoolRegistry.removeDone(), 0, TimeUnit.HOURS); // 7,5 minutes timer.scheduleAtFixedRate(timedExpiredItemsRemover, 450000, 450000); logger.info("Test Run controller initialized!"); }
Example 3
Source Project: rya Source File: RdfCloudTripleStoreSelectivityEvaluationStatisticsTest.java License: Apache License 2.0 | 6 votes |
@Before public void init() throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException { mock = new MockInstance("accumulo"); PasswordToken pToken = new PasswordToken("pass".getBytes()); conn = mock.getConnector("user", pToken); config = new BatchWriterConfig(); config.setMaxMemory(1000); config.setMaxLatency(1000, TimeUnit.SECONDS); config.setMaxWriteThreads(10); if (conn.tableOperations().exists("rya_prospects")) { conn.tableOperations().delete("rya_prospects"); } if (conn.tableOperations().exists("rya_selectivity")) { conn.tableOperations().delete("rya_selectivity"); } arc = new AccumuloRdfConfiguration(); arc.setTableLayoutStrategy(new TablePrefixLayoutStrategy()); arc.setMaxRangesForScanner(300); }
Example 4
Source Project: tablestore-timeline Source File: TimelineCallbackImpledFuture.java License: GNU Lesser General Public License v2.1 | 6 votes |
public Entry get(long timeout, TimeUnit unit) throws TimeoutException, InterruptedException, ExecutionException { Preconditions.checkNotNull(unit, "Time unit should not be null"); long endTime = System.currentTimeMillis() + unit.toMillis(timeout); synchronized(this) { while(!this.completed) { long waitTime = endTime - System.currentTimeMillis(); if (waitTime <= 0L) { throw new TimeoutException(); } this.wait(waitTime); } return this.getResultWithoutLock(); } }
Example 5
Source Project: activemq-artemis Source File: AmqpReceiver.java License: Apache License 2.0 | 6 votes |
private void stopOnSchedule(long timeout, final AsyncResult request) { LOG.trace("Receiver {} scheduling stop", this); // We need to drain the credit if no message(s) arrive to use it. final ScheduledFuture<?> future = getSession().getScheduler().schedule(new Runnable() { @Override public void run() { LOG.trace("Receiver {} running scheduled stop", this); if (getEndpoint().getRemoteCredit() != 0) { stop(request); session.pumpToProtonTransport(request); } } }, timeout, TimeUnit.MILLISECONDS); stopRequest = new ScheduledRequest(future, request); }
Example 6
Source Project: emodb Source File: ScanUploadSchedulingService.java License: Apache License 2.0 | 6 votes |
/** * Schedule a daily scan and upload to run once daily. */ private void scheduleScan(final ScheduledDailyScanUpload scanUpload) { // Schedule the first iteration for this scan Instant now = _clock.instant(); final Instant nextExecTime = scanUpload.getNextExecutionTimeAfter(now); scheduleNextScanExecution(scanUpload, now, nextExecTime); // Schedule the pending scan count to increment 45 minutes before the scan begins. Instant pendingExecTime = nextExecTime.minus(SCAN_PENDING_PERIOD); if (pendingExecTime.isBefore(now)) { // We're already within the pending exec time. Mark that the scan is pending and schedule the // first iteration for the next day. maybeAddPendingScan(scanUpload, nextExecTime); pendingExecTime = pendingExecTime.plus(Duration.ofDays(1)); } _service.scheduleAtFixedRate( () -> maybeAddPendingScan(scanUpload, scanUpload.getNextExecutionTimeAfter(_clock.instant())), Duration.between(now, pendingExecTime).toMillis(), Duration.ofDays(1).toMillis(), TimeUnit.MILLISECONDS); }
Example 7
Source Project: mysql_perf_analyzer Source File: AutoScanner.java License: Apache License 2.0 | 6 votes |
private void startConfigRetentionScheduler() { scheduler2 = Executors.newSingleThreadScheduledExecutor();//we only need a single thread retentionTask = new MetricsRetentionTask(this.context, context.getMyperfConfig().getRecordRententionDays(), null); configScanTask = new GlobalVariableChangeScanTask(this.context, this.appUser); int secOfTheDay = getCurrentSeconds(); int interval = context.getMyperfConfig().getScannerIntervalSeconds(); maxScanIdleTime = interval * 3000; if(maxScanIdleTime < 300000L) maxScanIdleTime = 300000L;//minimum check time 5 minutes logger.info("maximun alowed hange time: "+maxScanIdleTime); int configDelay = (int)Math.ceil(((double)secOfTheDay)/(720*60))*720*60 - secOfTheDay; int configDelay2 = (int)Math.ceil(((double)secOfTheDay)/(1440*60))*1440*60 - secOfTheDay; int monitorDelay = (int)Math.ceil(((double)secOfTheDay)/(600))*600 - secOfTheDay; //monitor delay ScheduledFuture<?> runtimeTaskFuture2 = scheduler2.scheduleAtFixedRate(retentionTask, configDelay2+60, 24*3600, TimeUnit.SECONDS);//once a day ScheduledFuture<?> runtimeTaskFuture3 = scheduler2.scheduleAtFixedRate(configScanTask, configDelay+120, 12*3600, TimeUnit.SECONDS);//twice a day logger.info("Rentention Task and configuratiion scan task scheduled."); }
Example 8
Source Project: micro-integrator Source File: VFSTransportTestCase.java License: Apache License 2.0 | 6 votes |
@SetEnvironment(executionEnvironments = { ExecutionEnvironment.STANDALONE }) @Test(groups = { "wso2.esb" }, description = "Sending a file through VFS Transport : " + "transport.vfs.FileURI = /home/someuser/somedir " + "transport.vfs.ContentType = text/plain, " + "transport.vfs.FileNamePattern = - *\\.txt, " + "transport.PollInterval=1," + " transport.vfs.ReplyFileName = out.txt ") public void testVFSProxyReplyFileName_Normal() throws Exception { //Related proxy : VFSProxy9 File sourceFile = new File(pathToVfsDir + File.separator + "test.txt"); File targetFile = new File(proxyVFSRoots.get("VFSProxy9") + File.separator + "in" + File.separator + "test.txt"); File outfile = new File(proxyVFSRoots.get("VFSProxy9") + File.separator + "out" + File.separator + "out.txt"); FileUtils.copyFile(sourceFile, targetFile); Awaitility.await().pollInterval(50, TimeUnit.MILLISECONDS).atMost(60, TimeUnit.SECONDS) .until(isFileExist(outfile)); Assert.assertTrue(outfile.exists()); Assert.assertTrue(doesFileContain(outfile, "[email protected]")); }
Example 9
Source Project: akarnokd-misc Source File: SingleConcatTest.java License: Apache License 2.0 | 6 votes |
@Test public void test() { TestScheduler testScheduler = new TestScheduler(); final Single<List<Integer>> first = Single.timer(2, TimeUnit.SECONDS, testScheduler) .map(u -> Arrays.asList(1, 2, 3)); final Single<List<Integer>> second = Single.just(Collections.emptyList()); final Single<List<Integer>> third = Single.just(Collections.singletonList(4)); final Single<List<Integer>> fourth = Single.just(Collections.singletonList(5)); Single<List<Integer>> subject = Observable .fromIterable(Arrays.asList(first, second, third, fourth)) .concatMapSingle(single -> single) .reduce(new ArrayList<>(), (seed, items) -> { seed.addAll(items); return seed; }); TestObserver<List<Integer>> testObserver = subject.test(); testScheduler.advanceTimeBy(3, TimeUnit.SECONDS); System.out.println(testObserver.values()); testObserver.assertValue(list -> list.equals(Arrays.asList(1, 2, 3, 4, 5))); // 5 is currently missing ; fourth was never subscribed in the first place }
Example 10
Source Project: Javacord Source File: DiscordApiBuilderDelegateImpl.java License: Apache License 2.0 | 6 votes |
private void setRecommendedTotalShards(CompletableFuture<Void> future) { DiscordApiImpl api = new DiscordApiImpl( token, globalRatelimiter, proxySelector, proxy, proxyAuthenticator, trustAllCertificates); RestRequest<JsonNode> botGatewayRequest = new RestRequest<>(api, RestMethod.GET, RestEndpoint.GATEWAY_BOT); botGatewayRequest .execute(RestRequestResult::getJsonBody) .thenAccept(resultJson -> { DiscordWebSocketAdapter.setGateway(resultJson.get("url").asText()); setTotalShards(resultJson.get("shards").asInt()); retryAttempt.set(0); future.complete(null); }) .exceptionally(t -> { int retryDelay = api.getReconnectDelay(retryAttempt.incrementAndGet()); logger.info("Retrying to get recommended total shards in {} seconds!", retryDelay); api.getThreadPool().getScheduler().schedule( () -> setRecommendedTotalShards(future), retryDelay, TimeUnit.SECONDS); return null; }) .whenComplete((nothing, throwable) -> api.disconnect()); }
Example 11
Source Project: rya Source File: KafkaNotificationProvider.java License: Apache License 2.0 | 6 votes |
@Override public void stop() { if (consumers != null && consumers.size() > 0) { for (final PeriodicNotificationConsumer consumer : consumers) { consumer.shutdown(); } } if (executor != null) { executor.shutdown(); } running = false; try { if (!executor.awaitTermination(5000, TimeUnit.MILLISECONDS)) { LOG.info("Timed out waiting for consumer threads to shut down, exiting uncleanly"); executor.shutdownNow(); } } catch (final InterruptedException e) { LOG.info("Interrupted during shutdown, exiting uncleanly"); } }
Example 12
Source Project: smallrye-fault-tolerance Source File: ScheduledExecutorTimeoutWatcher.java License: Apache License 2.0 | 6 votes |
@Override public TimeoutWatch schedule(TimeoutExecution execution) { ScheduledFuture<?> future = executor.schedule(execution::timeoutAndInterrupt, execution.timeoutInMillis(), TimeUnit.MILLISECONDS); return new TimeoutWatch() { @Override public boolean isRunning() { return !future.isDone(); } @Override public void cancel() { future.cancel(true); } }; }
Example 13
Source Project: reactor-pool Source File: SimpleLifoPoolTest.java License: Apache License 2.0 | 6 votes |
@Test void consistentThreadDeliveringWhenHasElements() throws InterruptedException { Scheduler deliveryScheduler = Schedulers.newSingle("delivery"); AtomicReference<String> threadName = new AtomicReference<>(); Scheduler acquireScheduler = Schedulers.newSingle("acquire"); PoolConfig<PoolableTest> testConfig = poolableTestConfig(1, 1, Mono.fromCallable(PoolableTest::new) .subscribeOn(Schedulers.newParallel("poolable test allocator")), deliveryScheduler); SimpleLifoPool<PoolableTest> pool = new SimpleLifoPool<>(testConfig); //the pool is started with one available element //we prepare to acquire it Mono<PooledRef<PoolableTest>> borrower = pool.acquire(); CountDownLatch latch = new CountDownLatch(1); //we actually request the acquire from a separate thread and see from which thread the element was delivered acquireScheduler.schedule(() -> borrower.subscribe(v -> threadName.set(Thread.currentThread().getName()), e -> latch.countDown(), latch::countDown)); latch.await(1, TimeUnit.SECONDS); assertThat(threadName.get()) .startsWith("delivery-"); }
Example 14
Source Project: examples Source File: BatchWriter.java License: Apache License 2.0 | 6 votes |
public BatchWriter(EmbeddedSolrServer solr, int batchSize, TaskID tid, int writerThreads, int queueSize) { this.solr = solr; this.writerThreads = writerThreads; this.queueSize = queueSize; taskId = tid; // we need to obtain the settings before the constructor if (writerThreads != 0) { batchPool = new ThreadPoolExecutor(writerThreads, writerThreads, 5, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(queueSize), new ThreadPoolExecutor.CallerRunsPolicy()); } else { // single threaded case batchPool = null; } }
Example 15
Source Project: Onosendai Source File: SaveScrollNow.java License: Apache License 2.0 | 6 votes |
public boolean awaitScrollStores (final Set<Integer> waitForColumnIds, final int timeout, final TimeUnit unit) { final long timeoutNanos = unit.toNanos(timeout); final long startTime = now(); while (true) { synchronized (this.storedColumnIds) { if (this.storedColumnIds.containsAll(waitForColumnIds)) return true; } if (now() - startTime > timeoutNanos) return false; try { Thread.sleep(100); } catch (InterruptedException e) { return false; } } }
Example 16
Source Project: activemq-artemis Source File: AbortSlowConsumer1Test.java License: Apache License 2.0 | 6 votes |
@Test(timeout = 60 * 1000) public void testAbortAlreadyClosedConnection() throws Exception { Connection conn = createConnectionFactory().createConnection(); conn.setExceptionListener(this); Session sess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE); sess.createConsumer(destination); conn.start(); startProducers(destination, 20); TimeUnit.SECONDS.sleep(1); LOG.info("closing connection: " + conn); conn.close(); TimeUnit.SECONDS.sleep(5); assertTrue("no exceptions : " + exceptions, exceptions.isEmpty()); }
Example 17
Source Project: arcusplatform Source File: VoicePlaceSelectionHandler.java License: Apache License 2.0 | 6 votes |
@Override public void placeAuthorized(UUID placeId) { long startTime = System.nanoTime(); PlatformMessage msg = PlatformMessage.buildRequest( VoiceService.StartPlaceRequest.builder().withAssistant(assistant).build(), bridgeAddress, Address.platformService(VoiceService.NAMESPACE) ) .withCorrelationId(IrisUUID.randomUUID().toString()) .withPlaceId(placeId) .withPopulation(populationCacheMgr.getPopulationByPlaceId(placeId)) .withTimeToLive((int) config.getRequestTimeoutMs()) .create(); try { busClient.request(msg).get(config.getRequestTimeoutMs(), TimeUnit.MILLISECONDS); metrics.timeServiceSuccess(msg.getMessageType(), startTime); } catch(Exception e) { logger.warn("failed to start place {}", placeId, e); metrics.timeServiceFailure(msg.getMessageType(), startTime); } }
Example 18
Source Project: teku Source File: BLSBenchmark.java License: Apache License 2.0 | 6 votes |
@Benchmark @Warmup(iterations = 5, time = 1000, timeUnit = TimeUnit.MILLISECONDS) @Measurement(iterations = 10, time = 1000, timeUnit = TimeUnit.MILLISECONDS) public void verifySignatureBatchedNonParallelSinglePairing() { boolean res = BLS.batchVerify( keyPairs.stream() .map(kp -> Collections.singletonList(kp.getPublicKey())) .limit(sigCnt) .collect(Collectors.toList()), messages.subList(0, sigCnt), signatures.subList(0, sigCnt), false, false); if (!res) throw new IllegalStateException(); }
Example 19
Source Project: orianna Source File: FixedWindowRateLimiter.java License: MIT License | 6 votes |
@Override public void restrictFor(final long time, final TimeUnit unit) { synchronized(resetterLock) { permitter.drainPermits(); if(drainer != null) { drainer.cancel(); drainer.cancelled = true; } if(resetter != null) { resetter.cancel(); resetter.cancelled = true; } resetter = new Resetter(); timer.schedule(resetter, unit.toMillis(time)); } }
Example 20
Source Project: azure-libraries-for-java Source File: ManageSqlServerKeysWithAzureKeyVaultKey.java License: MIT License | 6 votes |
/** * Main entry point. * @param args the parameters */ public static void main(String[] args) { try { final File credFile = new File(System.getenv("AZURE_AUTH_LOCATION")); ApplicationTokenCredentials credentials = ApplicationTokenCredentials.fromFile(credFile); RestClient restClient = new RestClient.Builder() .withBaseUrl(AzureEnvironment.AZURE, AzureEnvironment.Endpoint.RESOURCE_MANAGER) .withSerializerAdapter(new AzureJacksonAdapter()) .withResponseBuilderFactory(new AzureResponseBuilder.Factory()) .withReadTimeout(150, TimeUnit.SECONDS) .withLogLevel(LogLevel.BODY) .withCredentials(credentials).build(); Azure azure = Azure.authenticate(restClient, credentials.domain(), credentials.defaultSubscriptionId()).withDefaultSubscription(); // Print selected subscription System.out.println("Selected subscription: " + azure.subscriptionId()); runSample(azure, credentials.clientId()); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } }
Example 21
Source Project: otroslogviewer Source File: LoadingRunnableTest.java License: Apache License 2.0 | 5 votes |
@Test(invocationCount = 5) public void testLoadingStopWithLogParser() throws IOException { saveLines(Range.closed(0, julSimpleLogLines.size()), julSimpleLogLines, outputStream); underTest = createLoadingRunnable(getJulLogParser()); executorService.submit(underTest); await().until(() -> collector.getCount() == 1000); underTest.stop(); saveLines(Range.closed(0, julSimpleLogLines.size()), julSimpleLogLines, outputStream); await().atLeast(100, TimeUnit.MILLISECONDS).until(() -> collector.getCount() == 1000); }
Example 22
Source Project: weixin-java-tools Source File: ApacheHttpDnsClientBuilder.java License: Apache License 2.0 | 5 votes |
@Override public void run() { try { while (!this.shutdown) { synchronized (this) { wait(this.checkWaitTime); this.connMgr.closeExpiredConnections(); this.connMgr.closeIdleConnections(this.idleConnTimeout, TimeUnit.MILLISECONDS); } } } catch (InterruptedException ignore) { } }
Example 23
Source Project: triava Source File: CacheTest.java License: Apache License 2.0 | 5 votes |
private static Cache<String, Integer> createCache(String id, int idleTime, int cacheTime, int size) { Builder<String, Integer> cacheB = TCacheFactory.standardFactory().builder(); cacheB.setId(id); cacheB.setMaxIdleTime(idleTime, TimeUnit.SECONDS) .setMaxCacheTime(cacheTime, TimeUnit.SECONDS) .setMaxElements(size); return cacheB.build(); }
Example 24
Source Project: spectator Source File: CompositeTimer.java License: Apache License 2.0 | 5 votes |
@Override public <T> T record(Callable<T> f) throws Exception { final long s = clock.monotonicTime(); try { return f.call(); } finally { final long e = clock.monotonicTime(); record(e - s, TimeUnit.NANOSECONDS); } }
Example 25
Source Project: aws-encryption-sdk-java Source File: LocalCryptoMaterialsCacheThreadStormTest.java License: Apache License 2.0 | 5 votes |
public void checkThread() { try { while (!stopRequest.await(5000, TimeUnit.MILLISECONDS)) { barrierRequest = true; barrier.await(); assertConsistent(cache); inc("consistency check passed"); barrier.await(); } } catch (Exception e) { throw new RuntimeException(e); } }
Example 26
Source Project: vlingo-actors Source File: TestUntil.java License: Mozilla Public License 2.0 | 5 votes |
public boolean completesWithin(final long timeout) { try { latch.await(timeout,TimeUnit.MILLISECONDS); return latch.getCount() == 0; } catch (Exception e) { return false; } }
Example 27
Source Project: cyclops Source File: BatchingTest.java License: Apache License 2.0 | 5 votes |
@Test public void windowBySizeAndTimeSizeEmpty(){ assertThat(of() .groupedBySizeAndTime(3,10,TimeUnit.SECONDS) .toList() .size(),is(0)); }
Example 28
Source Project: L2jBrasil Source File: ThreadPoolManager.java License: GNU General Public License v3.0 | 5 votes |
private ThreadPoolManager() { _effectsScheduledThreadPool = new ScheduledThreadPoolExecutor(Config.THREAD_P_EFFECTS, new PriorityThreadFactory("EffectsSTPool", Thread.NORM_PRIORITY)); _generalScheduledThreadPool = new ScheduledThreadPoolExecutor(Config.THREAD_P_GENERAL, new PriorityThreadFactory("GerenalSTPool", Thread.NORM_PRIORITY)); _ioPacketsThreadPool = new ThreadPoolExecutor(Config.IO_PACKET_THREAD_CORE_SIZE, Integer.MAX_VALUE,5L, TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>(),new PriorityThreadFactory("I/O Packet Pool",Thread.NORM_PRIORITY+1)); _generalPacketsThreadPool = new ThreadPoolExecutor(Config.GENERAL_PACKET_THREAD_CORE_SIZE, Config.GENERAL_PACKET_THREAD_CORE_SIZE+2,15L, TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>(),new PriorityThreadFactory("Normal Packet Pool",Thread.NORM_PRIORITY+1)); _generalThreadPool = new ThreadPoolExecutor(Config.GENERAL_THREAD_CORE_SIZE, Config.GENERAL_THREAD_CORE_SIZE+2,5L, TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>(),new PriorityThreadFactory("General Pool",Thread.NORM_PRIORITY)); // will be really used in the next AI implementation. _aiThreadPool = new ThreadPoolExecutor(1, Config.AI_MAX_THREAD,10L, TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>()); _aiScheduledThreadPool = new ScheduledThreadPoolExecutor(Config.AI_MAX_THREAD, new PriorityThreadFactory("AISTPool", Thread.NORM_PRIORITY)); }
Example 29
Source Project: hawkular-alerts Source File: PartitionManagerImpl.java License: Apache License 2.0 | 5 votes |
@Override @SuppressWarnings("unchecked") public void notifyData(Collection<Data> data) { if (distributed) { NotifyData nData = new NotifyData(currentNode, data, Data.class); Integer key = nData.hashCode(); log.debugf("Sending data [%s]", nData); dataCache.getAdvancedCache().withFlags(Flag.IGNORE_RETURN_VALUES) .putAsync(key, nData, LIFESPAN, TimeUnit.MILLISECONDS); } }
Example 30
Source Project: Anti-recall Source File: LoginFragment.java License: GNU Affero General Public License v3.0 | 5 votes |
private boolean verifyCaptcha(String captcha) { RequestQueue queue = Volley.newRequestQueue(getContext()); RequestFuture future = RequestFuture.newFuture(); StringRequest request = new StringRequest(Request.Method.POST, "http://ar.qsboy.com/j/verifyCaptcha", future, future) { @Override protected Map<String, String> getParams() { Map<String, String> map = new HashMap<>(); map.put("phone", phone); map.put("captcha", captcha); return map; } }; queue.add(request); try { String s = (String) future.get(5, TimeUnit.SECONDS); boolean isValid = s != null && s.length() > 0; if (isValid) { Gson gson = new Gson(); gson.fromJson(s, App.User.class); } return isValid; } catch (InterruptedException | ExecutionException | TimeoutException e) { e.printStackTrace(); return false; } }